| Operatoren |
set_message_queue_param — Setzen von Parametern für eine Warteschlange von Nachrichten.
set_message_queue_param( : : QueueHandle, GenParamName, GenParamValue : )
set_message_queue_param setzt Parameter für eine Warteschlange von Nachrichten oder führt Aktionen auf einer solchen aus.
GenParamName können mehrere Parameter und Aktionen und in GenParamValue die korrespondierenden Werte übergeben werden. Dabei müssen stets die gleiche Anzahl von Parameternamen und Werten übergeben werden und die Reihenfolge der Werte muss mit der der Namen übereinstimmen. Die Parameter und Aktionen werden in der Reihenfolge abgearbeitet, in der sie in einem Tupel dem Parameter GenParamName übergeben wurden. Dabei kann im Falle von Aktionsparameter der Effekt eines früheren Aktionsparameters nicht rückgängig gemacht werden, wenn eine spätere Aktion fehlschlagen sollte.
Folgende Parameternamen werden unterstützt:
Bricht alle dequeue_message Operator ab, die in beliebigen Threads auf Nachrichten warten. Die abgebrochenen Aufrufe von dequeue_message geben den Fehler H_ERR_MQCNCL zurück. Jeder weitere zukünftige Aufruf von dequeue_message kehrt sofort mit dem Fehler H_ERR_MQCNCL zurück, unabhängig vom Status der Warteschlange.
Diese Aktion wird typischerweise verwendet bevor die Warteschlange aufgeräumt wird. Denn es ist nicht erlaubt die Warteschlange über clear_message_queue frei zu geben, während sie noch von anderen Operatoren verwendet wird. Daher ist es in der Regel notwendig, nach der Aktion 'abort_dequeuing' auf die Beendigung der Threads zu warten, um sicherzustellen, dass kein Operator das Warteschlangenobjekt mehr verwenden kann.
Die Aktion wirkt sich jedoch nicht auf die Nachrichtenobjekte aus, die in der Warteschlange gespeichert sind. Der Effekt, dass auch alle weiteren Aufruf von dequeue_message abgebrochen werden, kann mit Hilfe der Aktion 'restore_queue' wieder aufgehoben werden.
Der korrespondierende Parameterwert der Aktion muss den Integerwert 1 haben.
Hebt die Auswirkungen einer vorangegangenen 'abort_dequeuing' Aktion wieder auf. Dies bedeutet, dass der nächste Aufruf von dequeue_message wieder Nachrichtenobjekte aus der Warteschlange empfangen wird.
Der korrespondierende Parameterwert der Aktion muss den Integerwert 1 haben.
Leert die Warteschlange. Alle sich in der Warteschlange befindenden Nachrichten werden aus der Warteschlange entfernt und alle damit verbundenen Ressourcen freigegeben, insbesondere die im Nachrichtenobjekt gespeicherten Tupel und Objektdaten.
Der korrespondierende Parameterwert der Aktion muss den Integerwert 1 haben.
Setzt die maximale Anzahl von Nachrichten, die eine Warteschlange zu einem Zeitpunkt enthalten kann. Der Aufruf des Operators enqueue_message gibt dann den Wert H_ERR_MQOVL zurück, wenn die Warteschlange nach der Operation mehr Nachrichten enthalten würde als das gesetzte Maximum.
Das Setzen des Parameters 'max_message_num' hat jedoch keine Auswirkung auf bereits eingereihte Nachrichtenobjekte. D.h. es werden durch diese Aktion keine Nachrichten aus der Warteschlange entfernt.
Der Parameterwert in GenParamValue kann ein positiver Integerwert oder -1 sein, falls die Größe der Warteschlange nicht limitiert sein soll (default). Der String 'infinite' wird ebenfalls akzeptiert.
Warteschlangenobjekt.
Parameteranzahl: QueueHandle == 1
Restriktion: QueueHandle != 0
Namen der Parameter oder Aktionen.
Parameteranzahl: GenParamName == GenParamValue
Defaultwert: 'max_message_num'
Werteliste: 'abort_dequeuing', 'flush_queue', 'max_message_num', 'restore_queue'
Werte zu den Parameternamen oder Aktionen.
Parameteranzahl: GenParamName == GenParamValue
Defaultwert: 1
Wertevorschläge: 1, -1
* abort waiting dequeue_message operators set_message_queue_param (Queue, 'abort_dequeuing', 1)
Im Erfolgsfall gibt set_message_queue_param den Wert 2 (H_MSG_TRUE) zurück. Andernfalls wird eine Fehlerbehandlung durchgeführt.
create_message_queue, clear_message_queue, enqueue_message, dequeue_message, get_message_queue_param, create_message, clear_message, set_message_tuple, get_message_tuple, set_message_obj, get_message_obj
Foundation
| Operatoren |