cniPropagate

Propaga uma mensagem para um objeto de terminal especificado. Se o terminal não estiver conectado a outro nó por um conector, a mensagem não será propagada e a função será considerada como um no-op. Portanto, não é necessário verificar se o terminal está conectado antes de propagar a mensagem, a menos que a ação que o nó executa fosse diferente (nesse caso você pode utilizar cniIsTerminalAttached para verificar se o terminal está conectado).

Sintaxe

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

Parâmetros

returnCode
O código de retorno da função (saída). Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_TERMINAL_OBJECT
  • CCI_INV_MESSAGE_OBJECT
terminalObject
O endereço do terminal de saída que deve receber a mensagem (entrada). O endereço é retornado por cniCreateOutputTerminal.
destinationList
O endereço do objeto de lista de destino a ser enviado com a mensagem (entrada).

Esse objeto de mensagem é utilizado pelo nó de Publicação/Assinatura fornecido pelo intermediário de mensagens.

exceptionList
O endereço da lista de exceção para a mensagem (entrada).
message
O endereço do objeto de mensagem a ser enviado (entrada). Se a mensagem que está sendo enviada for o mesmo da mensagem de entrada, este endereço é o que é transmitido na função de implementação cniEvaluate.

Valores de Retorno

Se bem-sucedida, CCI_SUCCESS é retornado. Caso contrário, CCI_FAILURE é retornado e o parâmetro returnCode indica a razão do erro.

Exemplo

if (terminalObject) {
    if (cniIsTerminalAttached(&rc, terminalObject)) {
      if (rc == CCI_SUCCESS) {
        cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
as07620_