Guarded interface to Bell objects used by user applications.
More...
#include <syscall/guarded_bell.h>
|
| GuardedBell () |
|
unsigned int | residual () |
| Returns the residual waiting time.
|
|
void | set (unsigned int ms) |
| Set the bell's waiting time.
|
|
void | sleep () |
| Sleep until the bell rings.
|
|
|
static void | sleep (unsigned int ms) |
| Sleep until the bell rings.
|
|
|
| GuardedBell (const GuardedBell &)=delete |
|
GuardedBell & | operator= (const GuardedBell &)=delete |
|
| Bell () |
| Constructor.
|
|
void | ring () |
| Ring the bell.
|
|
unsigned int | residual () |
| Returns the residual waiting time.
|
|
void | set (unsigned int ms) |
| Set the bell's waiting time.
|
|
void | sleep () |
| Sleep until the bell rings.
|
|
| Waitingroom () |
| Constructor.
|
|
virtual | ~Waitingroom () |
| Destructor.
|
|
virtual void | remove (Thread *customer) |
| Remove a given thread prematurely from the Waitingroom.
|
|
| Queue () |
| Default constructor; initialized the queue as empty.
|
|
void | enqueue (T *item) |
| Enqueues the provided item at the end of the queue.
|
|
T * | dequeue () |
| Removes the first element in the queue and returns it.
|
|
Iterator | begin () |
|
Iterator | end () |
|
T * | remove (T *item, bool(*cmp)(T *, T *)=[](T *a, T *b) {return a==b;}) |
| Removes and returns a single element from the queue.
|
|
void | insertFirst (T *item) |
| Adds item to the beginning of the queue.
|
|
void | insertAfter (T *old_item, T *new_item) |
| Inserts the element new_item directly after old_item .
|
|
T * | first () |
| Returns the first element in the queue without removing it.
|
|
T * | next (T *o) |
| Returns the next element in the queue for a given element.
|
|
| Node () |
|
|
static void | sleep (unsigned int ms) |
| Creates a temporary bell object and sleeps for the given timespan.
|
|
Guarded interface to Bell objects used by user applications.
Implements the system call interface for class Bell. All methods provided by this class are wrappers for the respective method from the base class, which provide additional synchronization by using the class Guarded.
◆ GuardedBell() [1/2]
◆ GuardedBell() [2/2]
GuardedBell::GuardedBell |
( |
| ) |
|
|
inline |
◆ operator=()
◆ sleep() [1/2]
static void GuardedBell::sleep |
( |
unsigned int |
ms | ) |
|
|
inlinestatic |
Sleep until the bell rings.
The bell needs to be configured via Bell::set() prior to calling this method and should not have rung already. (see Bell::residual()).
- Optional:
- Implement Method
- Note
- This method is equal to the correspondent method in base class Bell, with the only difference that the call will be protected by a Guarded object.
◆ residual()
unsigned int GuardedBell::residual |
( |
| ) |
|
|
inline |
Returns the residual waiting time.
Will use Bellringer::residual().
- Returns
- Time in milliseconds until the bell rings
- Optional:
- Implement Method
- Note
- This method is equal to the correspondent method in base class Bell, with the only difference that the call will be protected by a Guarded object.
- Optional:
- Implement method
◆ set()
void GuardedBell::set |
( |
unsigned int |
ms | ) |
|
|
inline |
Set the bell's waiting time.
This method can be used to set the desired waiting time.
- Parameters
-
ms | Time in milliseconds; will be passed to Bellringer::job() |
- Optional:
- Implement Method
- Note
- This method is equal to the correspondent method in base class Bell, with the only difference that the call will be protected by a Guarded object.
◆ sleep() [2/2]
void GuardedBell::sleep |
( |
| ) |
|
|
inline |
Sleep until the bell rings.
The bell needs to be configured via Bell::set() prior to calling this method and should not have rung already. (see Bell::residual()).
- Optional:
- Implement Method
- Note
- This method is equal to the correspondent method in base class Bell, with the only difference that the call will be protected by a Guarded object.
The documentation for this class was generated from the following file: