
Verwaltung und Anstoßen von zeitgesteuerten Aktivitäten. Mehr ...
#include <meeting/bellringer.h>
Öffentliche Methoden | |
Bellringer () | |
Konstruktor. Mehr ... | |
void | check () |
Prüft, ob Glocken zu läuten sind und tut es gegebenenfalls. Mehr ... | |
void | job (Bell *bell, unsigned int ms) |
Die Glocke bell wird dem Glöckner überantwortet. Sie soll nach ms Millisekunden geläutet werden. Mehr ... | |
void | cancel (Bell *bell) |
Die Glocke bell soll nun doch nicht geläutet werden. Mehr ... | |
unsigned int | residual (Bell *bell) |
Verbleibende Zeit bis die Glocke bell geläutet wird. Mehr ... | |
bool | bell_pending () |
Ist eine Glocke eingehangen? Mehr ... | |
Verwaltung und Anstoßen von zeitgesteuerten Aktivitäten.
Der "Glöckner" (Bellringer) wird regelmäßig aktiviert und prüft, ob irgendwelche "Glocken" (Bell-Objekte) läuten müssen. Die Glocken befinden sich in einer Liste, die der Glöckner verwaltet. Eine geschickte Implementierung vermeidet, bei jeder Aktivierung die gesamte Liste zu durchlaufen.
Auf diese Weise erreicht man eine Komplexität vom O(1) im Timer Interrupt, sofern keine Glocke aktiviert werden muss.
|
inline |
Konstruktor.
bool Bellringer::bell_pending | ( | ) |
Ist eine Glocke eingehangen?
void Bellringer::cancel | ( | Bell * | bell | ) |
Die Glocke bell soll nun doch nicht geläutet werden.
bell | Die Glocke, die nicht geläutet werden soll. |
void Bellringer::check | ( | ) |
Prüft, ob Glocken zu läuten sind und tut es gegebenenfalls.
Bei jedem Aufruf von check vergeht ein Tick. Wenn das Ticken einer Glocke dazu führt, dass sie ihre Zeit abgelaufen ist, wird sie geläutet.
void Bellringer::job | ( | Bell * | bell, |
unsigned int | ms | ||
) |
Die Glocke bell wird dem Glöckner überantwortet. Sie soll nach ms Millisekunden geläutet werden.
bell | Glocke, die nach ms Millisekunden geläutet werden soll. |
ms | Millisekunden, die abgewartet werden sollen, bevor die Glocke bell geläutet wird. |
unsigned int Bellringer::residual | ( | Bell * | bell | ) |
Verbleibende Zeit bis die Glocke bell geläutet wird.
bell | Die Glocke, deren verbleibende Zeit abgefragt werden soll. |