StuBS
|
Guarded interface to Bell objects used by user applications. More...
#include <syscall/guarded_bell.h>
Public Member Functions | |
GuardedBell () | |
Static Public Member Functions | |
static void | sleep (unsigned int ms) |
Creates a temporary bell object and sleeps for the given timespan. | |
Private Member Functions | |
GuardedBell (const GuardedBell &)=delete | |
GuardedBell & | operator= (const GuardedBell &)=delete |
Private Member Functions inherited from Bell | |
Bell () | |
Constructor. | |
void | ring () |
Ring the bell. | |
Private Member Functions inherited from Waitingroom | |
Waitingroom () | |
Constructor. | |
virtual | ~Waitingroom () |
Destructor. | |
virtual void | remove (Thread *customer) |
Remove a given thread prematurely from the Waitingroom. | |
Private Member Functions inherited from Queue< T, ContainerType > | |
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. | |
Private Member Functions inherited from Queue< T, ContainerType >::Node | |
Node () | |
Additional Inherited Members | |
Static Private Member Functions inherited from Bell | |
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.
|
privatedelete |
|
inline |
|
privatedelete |