StuBS
|
Guarded interface to Bell objects used by user applications. More...
#include <syscall/guarded_bell.h>
Public Member Functions | |
unsigned int | residual () |
Returns the residual waiting time. More... | |
void | set (unsigned int ms) |
Set the bell's waiting time. More... | |
void | sleep () |
Sleep until the bell rings. More... | |
Public Member Functions inherited from Bell | |
Bell () | |
Constructor. More... | |
void | ring () |
Ring the bell. More... | |
unsigned int | residual () |
Returns the residual waiting time. More... | |
void | set (unsigned int ms) |
Set the bell's waiting time. More... | |
void | sleep () |
Sleep until the bell rings. More... | |
Public Member Functions inherited from Waitingroom | |
Waitingroom () | |
Constructor. More... | |
virtual | ~Waitingroom () |
Destructor. More... | |
virtual void | remove (Thread *customer) |
Remove a given thread prematurely from the Waitingroom. | |
Public Member Functions inherited from Queue< Thread > | |
Queue () | |
Default constructor; initialized the queue as empty. | |
void | enqueue (Thread *item) |
Enqueues the provided item at the end of the queue. More... | |
Thread * | dequeue () |
Removes the first element in the queue and returns it. More... | |
Iterator | begin () |
Iterator | end () |
Thread * | remove (Thread *item, bool(*cmp)(Thread *, Thread *)=[](Thread *a, Thread *b) {return a==b;}) |
Removes and returns a single element from the queue. More... | |
void | insertFirst (Thread *item) |
Adds item to the beginning of the queue. More... | |
void | insertAfter (Thread *old_item, Thread *new_item) |
Inserts the element new_item directly after old_item . More... | |
Thread * | first () |
Returns the first element in the queue without removing it. More... | |
Thread * | next (Thread *o) |
Returns the next element in the queue for a given element. | |
Static Public Member Functions | |
static void | sleep (unsigned int ms) |
Sleep until the bell rings. More... | |
Static Public Member Functions inherited from Bell | |
static void | sleep (unsigned int ms) |
Creates a temporary bell object and sleep for the given timespan. More... | |
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.
|
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()).
|
inline |
Returns the residual waiting time.
Will use Bellringer::residual().
|
inline |
Set the bell's waiting time.
This method can be used to set the desired waiting time.
ms | Time in milliseconds; will be passed to Bellringer::job() |
|
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()).