Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Verwaltung und Anstoßen von zeitgesteuerten AktivitĂ€ten. Mehr ...

#include <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 ...
 
bool bell_pending ()
 Ist eine Glocke eingehangen? Mehr ...
 

AusfĂŒhrliche Beschreibung

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.

Beschreibung der Konstruktoren und Destruktoren

◆ Bellringer()

Bellringer::Bellringer ( )
inline

Konstruktor.

Dokumentation der Elementfunktionen

◆ bell_pending()

bool Bellringer::bell_pending ( )

Ist eine Glocke eingehangen?

RĂŒckgabe
Mindestens eine Glocke ist eingehangen.

◆ cancel()

void Bellringer::cancel ( Bell bell)

Die Glocke bell soll nun doch nicht gelÀutet werden.

Parameter
bellDie Glocke, die nicht gelÀutet werden soll.

◆ check()

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.

◆ job()

void Bellringer::job ( Bell bell,
unsigned int  ms 
)

Die Glocke bell wird dem Glöckner ĂŒberantwortet. Sie soll nach ms Millisekunden gelĂ€utet werden.

Parameter
bellGlocke, die nach ms Millisekunden gelÀutet werden soll.
msMilisekunden, die abgewartet werden sollen, bevor die Glocke bell gelÀutet wird.

Die Dokumentation fĂŒr diese Klasse wurde erzeugt aufgrund der Dateien: