cniPropagate

Gibt eine Nachricht an ein angegebenes Terminalobjekt weiter. Wenn das Terminal nicht mit einem anderen Knoten verbunden ist, wird die Nachricht nicht weitergegeben, und die Funktion wird ignoriert. Deshalb muss vor der Weitergabe der Nachricht nicht überprüft werden, ob das Terminal verbunden ist, es sei denn, der Knoten führt eine andere Aktion durch (in diesem Fall können Sie mit cniIsTerminalAttached überprüfen, ob das Terminal verbunden ist).

Syntax

int cniPropagate(
  int*          returnCode,
  CciTerminal*  terminalObject,
  CciMessage*      localEnvironment,
  CciMessage*   exceptionList,
  CciMessage*   message);

Parameter

returnCode
Der Rückkehrcode aus der Funktion (Ausgabe).
Mögliche Rückkehrcodes sind:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_TERMINAL_OBJECT
  • CCI_INV_MESSAGE_OBJECT
terminalObject
Die Adresse des Ausgabeterminals zum Empfangen der Nachricht (Eingabe). Die Adresse wird von cniCreateOutputTerminal ausgegeben.
localEnvironment
Die Adresse des Objekts für die lokale Umgebung, das mit der Nachricht gesendet werden soll (Eingabe).

Dieses Nachrichtenobjekt wird von dem Publish/Subscribe-Knoten verwendet, der vom Broker zur Verfügung gestellt wird.

Aus Gründen der Kompatibilität mit früheren Versionen kann dieser Parameter auch als destinationList bezeichnet werden.

exceptionList
Die Adresse der Ausnahmeliste für die Nachricht (Eingabe).
message
Die Adresse des zu sendenden Nachrichtenobjekts (Eingabe). Wenn die gesendete Nachricht mit der Eingabenachricht übereinstimmt, ist dies die Adresse, die in der Implementierungsfunktion cniEvaluate übergeben wurde.

Rückgabewerte

Bei Erfolg wird CCI_SUCCESS zurückgegeben. Ansonsten wird CCI_FAILURE ausgegeben, und der Parameter returnCode gibt den Grund für den Fehler an.

Beispiel

  if (terminalObject) {
    if (cniIsTerminalAttached(&rc, terminalObject)) {
      if (rc == CCI_SUCCESS) {
        cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:29:56

as07620_