cniPropagate

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 se considera como no operativa. Por consiguiente, 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 diferente (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).
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_TERMINAL_OBJECT
  • CCI_INV_MESSAGE_OBJECT
terminalObject
Dirección del terminal de salida que debe recibir el mensaje (entrada. La dirección la devuelve cniCreateOutputTerminal.
destinationList
Dirección del objeto de lista de destinos que se debe enviar con el mensaje (entrada).

El nodo Publish/subscribe proporcionado por el intermediario de mensajes utiliza este objeto de mensaje.

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

Valores de retorno

Si la ejecución se realiza satisfactoriamente, se devuelve CCI_SUCCESS. De lo contrario, se devuelve CCI_FAILURE y el parámetro returnCode indica la razón del error.

Ejemplo

  if (terminalObject) {
    if (cniIsTerminalAttached(&rc, terminalObject)) {
      if (rc == CCI_SUCCESS) {
        cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as07620_