StuBS
Bell Class Reference

Synchronization object allowing to sleep for given timespan. More...

#include <sync/bell.h>

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

Public Member Functions

 Bell ()
 Constructor.
 
void ring ()
 Ring the bell.
 
- Public Member Functions inherited from Waitingroom
 Waitingroom ()
 Constructor.
 
virtual ~Waitingroom ()
 Destructor.
 
virtual void remove (Thread *customer)
 Remove a given thread prematurely from the Waitingroom.
 
- Public 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.
 
Tdequeue ()
 Removes the first element in the queue and returns it.
 
Iterator begin ()
 
Iterator end ()
 
Tremove (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.
 
Tfirst ()
 Returns the first element in the queue without removing it.
 
Tnext (T *o)
 Returns the next element in the queue for a given element.
 

Static Public Member Functions

static void sleep (unsigned int ms)
 Creates a temporary bell object and sleeps for the given timespan.
 

Private Member Functions

 Bell (const Bell &)=delete
 
Belloperator= (const Bell &)=delete
 

Private Attributes

unsigned int counter
 Internal counter for managing bell objects in the Bellringer.
 

Friends

class Bellringer
 

Additional Inherited Members

- Protected Member Functions inherited from Queue< T, ContainerType >::Node
 Node ()
 

Detailed Description

Synchronization object allowing to sleep for given timespan.

A bell is a synchronization object enabling one thread to sleep for a particular timespan.

Constructor & Destructor Documentation

◆ Bell() [1/2]

Bell::Bell ( const Bell )
privatedelete

◆ Bell() [2/2]

Bell::Bell ( )
inline

Constructor.

Constructs a new bell; the newly created bell is, at first, disabled.

Member Function Documentation

◆ operator=()

Bell & Bell::operator= ( const Bell )
privatedelete

◆ ring()

void Bell::ring ( )

Ring the bell.

Method called by the Bellringer once the waiting time passed. Wakes up the sleeping thread(s).

Todo:
Implement Method

◆ sleep()

void Bell::sleep ( unsigned int  ms)
static

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

Parameters
mstime in milliseconds
Todo:
Implement Method

Friends And Related Symbol Documentation

◆ Bellringer

Member Data Documentation

◆ counter

unsigned int Bell::counter
private

Internal counter for managing bell objects in the Bellringer.


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