Manages and activates time-triggered activities.  
 More...
#include <sync/bellringer.h>
|  | 
| static void | check () | 
|  | Checks whether there are bells to be rung.  More... 
 | 
|  | 
| static void | job (Bell *bell, unsigned int ms) | 
|  | Passes a bellto the bellringer to be rung aftermsmilliseconds.  More...
 | 
|  | 
| static void | cancel (Bell *bell) | 
|  | Cancel ticking & ringing a bell.  More... 
 | 
|  | 
| static bool | bellPending () | 
|  | Checks whether there are enqueued bells.  More... 
 | 
|  | 
Manages and activates time-triggered activities. 
The Bellringer is regularly activated and checks whether any of the bells should ring. The bells are stored in a Queue<Bell> that is managed by the Bellringer. A clever implementation avoids iterating through the whole list for every iteration by keeping the bells sorted and storing delta times. This approach leads to a complexity of O(1) for the method called by the timer interrupt in case no bells need to be rung. 
◆ check()
  
  | 
        
          | void Bellringer::check | ( |  | ) |  |  | static | 
 
Checks whether there are bells to be rung. 
Every call to check elapses a tick. Once such a tick reduces a bells remaining time to zero, the bell will be rung.
- Todo:
- Implement Method 
 
 
◆ job()
  
  | 
        
          | void Bellringer::job | ( | Bell * | bell, |  
          |  |  | unsigned int | ms |  
          |  | ) |  |  |  | static | 
 
Passes a bell to the bellringer to be rung after ms milliseconds. 
- Parameters
- 
  
    | bell | Bell that should be rung after msmilliseconds |  | ms | number of milliseconds that should be waited before ringing the bell |  
 
- Todo:
- Implement Method 
 
 
◆ cancel()
  
  | 
        
          | void Bellringer::cancel | ( | Bell * | bell | ) |  |  | static | 
 
Cancel ticking & ringing a bell. 
- Parameters
- 
  
    | bell | Bell that should not be rung. |  
 
- Todo:
- Implement Method 
 
 
◆ bellPending()
  
  | 
        
          | bool Bellringer::bellPending | ( |  | ) |  |  | static | 
 
Checks whether there are enqueued bells. 
- Returns
- true if there are enqueued bells, false otherwise
- Todo:
- Implement Method 
 
 
The documentation for this class was generated from the following files: