Sprung zum Seitenende Struktur Themen A...Z Titel << >>

CXI-Basis-Programmierreferenz / Version 2 / Datenaustausch / Ebene 2 / CxiMessageHandlerWithQueue /

LockQueue - Automatisches Abarbeiten verhindern

[C++] void CxiMessageHandlerWithQueue :: LockQueue ()

[S3:SPEZIAL] Verhindert das automatische Abarbeiten der Meldungen in der Queue

Normalerweise ruft die Klasse CxiMessageHandlerWithQueue die Handlerfunktion Handler2 automatisch auf, sobald eine Meldung in der Queue vorliegt und sich momentan keine Meldung in Bearbeitung befindet.

Durch den Aufruf dieser Funktion wird die Klasse angewiesen, nur bei expliziter Aufforderung den Handler2 aufzurufen. Die folgenden Funktionen bewirken die Abarbeitung von Meldungen:
WaitState - Wartezustand
PollQueue - Eine Meldung abarbeiten
ExecuteQueueUntilEmpty - Alle Meldungen abarbeiten
ExecuteQueueUntilError - Meldungen abarbeiten bis Fehler

Mit UnLockQueue kann die Sperre wieder aufgehoben werden.

Bevor ein CxiMessageHandler...-Objekt gelöscht werden kann, muss der Handler verlassen werden. Programme können abstürzen, wenn sich beim Löschen des Objekts gerade eine Meldung in Bearbeitung befindet. Daher wurde mit RequestShutDown und QueryReceiverState eine Möglichkeit geschaffen, das Beenden eines Empfängers asynchron anzustoßen. Innerhalb von Destruktoren sollte WaitShutDown() aufgerufen werden. Diese Funktion wartet, bis sich keine Meldungen mehr in Verarbeitung befinden, dann deaktiviert sie den Empfänger. Erst jetzt kann das Receiver-Objekt gefahrlos gelöscht werden. Die von CXI selbst zur Verfügung gestellten Destruktoren rufen WaitShutDown() automatisch auf.

Portabilität:
Diese Funktion ist in allen unterstützten Systemen verfügbar.

Weitere Memberfunktionen:
CxiMessageHandlerWithQueue(...) - Konstruktor
PreHandler - Abfangen von Meldungen
Handler2 - Bearbeitungsfunktion
WaitState - Wartezustand
CountQueue - Anzahl Meldungen in der Queue
PollQueue - Eine Meldung abarbeiten
ExecuteQueueUntilEmpty - Alle Meldungen abarbeiten
ExecuteQueueUntilError - Meldungen abarbeiten bis Fehler
ZapQueue - Queue löschen
UnLockQueue - Automatisches Abarbeiten ermöglichen
Post - Verschicken einer erweiterten Meldung
Pass - Weiterleiten einer empfangenen Meldung
IsInHandler - Ist der Handler aktiv?
QueryReceiverState - Aktivierungsstatus
RequestShutDown - Herunterfahren eines Empfängers


[i] CXI-Basis-Programmierreferenz
Version 2.10 72 (1014-001), erstellt am 15. April 2000
Textseite 329 von 855, Thema 8531 (LockQueue)
[c] Copyright (c) 1996-2000 by TeraConnect GmbH

Sprung zum Seitenanfang Struktur Themen A...Z Titel << >>