StuBS
GuardedBell Class Reference

Guarded interface to Bell objects used by user applications. More...

#include <syscall/guarded_bell.h>

Inheritance diagram for GuardedBell:
[legend]
Collaboration diagram for GuardedBell:
[legend]

Static Public Member Functions

static void sleep (unsigned int ms)
 Creates a temporary bell object and sleep for the given timespan. 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...
 

Additional Inherited Members

- Public Member Functions inherited from Bell
 Bell ()
 Constructor. More...
 
void ring ()
 Ring the bell. 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. More...
 
- 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...
 
Threaddequeue ()
 Removes the first element in the queue and returns it. More...
 
Iterator begin ()
 
Iterator end ()
 
Threadremove (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...
 
Threadfirst ()
 Returns the first element in the queue without removing it. More...
 
Threadnext (Thread *o)
 Returns the next element in the queue for a given element.
 

Detailed Description

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.

Member Function Documentation

◆ sleep()

static void GuardedBell::sleep ( unsigned int  ms)
inlinestatic

Creates a temporary bell object and sleep for the given timespan.

Parameters
mstime in milliseconds
Todo:
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.
Todo:
Implement method

The documentation for this class was generated from the following file: