cniPropagate

Gibt eine Nachricht an ein angegebenes Terminalobjekt weiter. Ist das Terminal nicht an einen anderen Knoten über eine Verbindung angehängt, wird die Nachricht nicht weitergegeben, und die Funktion wird als Nullbefehl behandelt. Aus diesem Grund ist es nicht erforderlich zu überprüfen, ob das Terminal vor der Weitergabe der Nachricht angehängt wird, außer die vom Knoten unternommene Aktion wäre anders (in diesem Fall können Sie mit Hilfe von cniIsTerminalAttached überprüfen, ob das Terminal verbunden ist).

Syntax

int cniPropagate(
  int*          returnCode,
  CciTerminal*  terminalObject,
  CciMessage*   destinationList,
  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.
destinationList
Die Adresse des Ziellistenobjekts, das mit der Nachricht gesendet werden soll (Eingabe).

Dieses Nachrichtenobjekt wird vom Publish/Subscribe-Knoten verwendet, der vom Nachrichtenbroker bereitgestellt wurde.

exceptionList
Die Adresse der Ausnahmeliste für die Nachricht (Eingabe).
message
Die Adresse des zu sendenden Nachrichtenobjekts (Eingabe). Wenn die Nachricht, die gerade gesendet wird, die gleiche ist wie die Eingabenachricht, ist diese Adresse diejenige, die bei der Implementierungsfunktion cniEvaluate weitergegeben wird.

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 | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07620_