cniPropagate

Esta función propaga un mensaje a un objeto de terminal especificado. Si el terminal no está conectado a otro nodo mediante un conector, el mensaje no se propaga y la función no se considera como opción. Por lo tanto, no es necesario comprobar si el terminal está conectado antes de propagar el mensaje, a menos que la acción que realice el nodo sea distinta, en cuyo caso puede utilizar cniIsTerminalAttached para comprobar si el terminal está conectado.

Sintaxis

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

Parámetros

returnCode
Código de retorno de la función (salida).
terminalObject
Dirección del terminal de salida que va a recibir el mensaje (entrada). La dirección se devuelve mediante cniCreateOutputTerminal.
destinationList
Dirección del objeto de lista de destinos que va a enviarse con el mensaje (entrada).

Este objeto de mensaje lo utiliza el nodo de publicación/suscripción suministrado por el intermediario de mensajes.

exceptionList
Dirección de la lista de excepciones para el mensaje (entrada).
message
Dirección del objeto de mensaje que se va a enviar (entrada). Si el mensaje que se va a enviar es el mismo que el mensaje de entrada, esta dirección será la que se haya pasado en la función de implementación cniEvaluate.

Valores de retorno

Si la función se ejecuta correctamente, se devuelve CCI_SUCCESS. De lo contrario, se devuelve CCI_FAILURE, y el parámetro returnCode indica la causa del error.

Ejemplo

  if (terminalObject) {
    if (cniIsTerminalAttached(&rc, terminalObject)) {
      if (rc == CCI_SUCCESS) {
        cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);

Conceptos relacionados
Nodos de entrada definidos por el usuario
Nodos de proceso de mensajes definidos por el usuario
Nodos de salida definidos por el usuario

Tareas relacionadas
Creación de un nodo de entrada en C
Creación de un nodo de proceso de mensajes en C

Referencia relacionada
Funciones de programa de utilidad de nodo de lenguaje C
cniCreateMessage
cniCreateOutputTerminal
cniDeleteMessage
cniEvaluate
cniFinalize
cniGetEnvironmentMessage
cniGetMessageContext
cniIsTerminalAttached