cniPropagate

Diese Funktion 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 als Nullbefehl betrachtet. 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*   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, das die Nachricht empfangen soll (Eingabe). Die Adresse wird von cniCreateOutputTerminal zurückgegeben.
destinationList
Die Adresse des Zieladressenlistenobjekts, das mit der Nachricht gesendet werden soll (Eingabe).

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

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

Rückgabewerte

Bei erfolgreicher Ausführung wird CCI_SUCCESS zurückgegeben. Andernfalls wird CCI_FAILURE zurückgegeben, und der Parameter returnCode gibt die Fehlerursache 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, 2005 Letzte Aktualisierung: Nov 17, 2005
as07620_