StuBS
Loading...
Searching...
No Matches
GuardedBell Class Reference

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

#include <guarded_bell.h>

Inheritance diagram for GuardedBell:
Collaboration diagram for GuardedBell:

Public Member Functions

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.
 
- Public Member Functions inherited from Bell
 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.
 
- Public Member Functions inherited from Waitingroom
 Waitingroom ()
 Constructor.
 
virtual ~Waitingroom ()
 Destructor.
 
virtual void remove (Thread *customer)
 Remove a given thread prematurely from the Waitingroom.
 

Static Public Member Functions

static void sleep (unsigned int ms)
 Sleep until the bell rings.
 
- Static Public Member Functions inherited from Bell
static void sleep (unsigned int ms)
 Creates a temporary bell object and sleep for the given timespan.
 

Additional Inherited Members

- Static Protected Member Functions inherited from Waitingroom
static Thread ** getNext (Thread &th, unsigned i)
 Get the next thread of the queue.
 

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

◆ 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
msTime 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() [1/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.

◆ sleep() [2/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.

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