cniRun

Essa função declara o nó como um nó input. Ela não é utilizada pelos nós de processamento de mensagens ou por nós de saída, e não é preciso chamar cniEvaluate. O intermediário aloca um encadeamento e chama essa função nesse encadeamento.

Definido em Type Membro
CNI_VFT Condicional iFpRun

Sintaxe

int cniRun(                       
  CCiContext*  context,
  CCiMessage*  localEnvironment,
  CciMessage*  exceptionList,
  CciMessage* message
);

Parâmetros

context
O endereço do contexto para a instância do nó, conforme criado pelo nó e retornado pela função cniCreateNodeContext (entrada).
localEnvironment
O endereço do objeto de ambiente local de entrada (entrada).

Para compatibilidade com versões anteriores, você pode se referir a esse parâmetro como destinationList.

exceptionList
O endereço da lista de exceção para a mensagem (entrada).
message
O endereço do objeto de mensagem ao qual os dados estão conectados (entrada).

O nó definido pelo usuário pode chamar cniSetInputBuffer para associar um fluxo de bits a esta mensagem. A ocupação da árvore desta mensagem não é suportada, portanto, as chamadas para funções como cniAddAsLastChild ou cniCreateElementAsLastChildFromBitstream não funcionam. Para construir partes da árvore, crie uma nova mensagem utilizando cniCreateMessage, em vez de fornecer um buffer a ser analisado como a mensagem inteira.

Por exemplo, se você tiver um fluxo de bits que será utilizado como a parte da carga útil da mensagem e também desejar incluir um cabeçalho, será necessário concluir as seguintes etapas:
  1. Crie uma nova mensagem utilizando cniCreateMessage.
  2. Crie a parte do cabeçalho nesta nova mensagem utilizando as funções de Utilitário de Acesso ao Elemento de Sintaxe, por exemplo, cniCreateElementAsLastChildUsingParser e transmitindo o elemento raiz desta nova mensagem.
  3. Inclua campos no cabeçalho utilizando funções como cniCreateElementAsLastChild.
  4. Crie o corpo da mensagem analisando seu fluxo de bits chamando cniCreateElementAsLastChildFromBitstream e transmitindo o elemento raiz desta nova mensagem.

Valores de Retorno

Essa função é chamada pelo intermediário como parte de um loop. O significado do valor de retorno é mostrado a seguir.

CCI_TIMEOUT
O nó de entrada não recebeu seus dados de entrada. Esse valor significa que o controle deve ser retornado para o intermediário no caso de estar sendo solicitada a reconfiguração do fluxo de mensagens. Um nó de entrada definido pelo usuário deve ser retornado com freqüência razoável para devolver o controle ao intermediário.
CCI_SUCCESS_CONTINUE
Uma mensagem foi processada com êxito. O intermediário executa o processamento de confirmação da transação padrão. A função de implementação cniRun do nó input é chamada imediatamente para que o nó possa continuar o processamento.
CCI_SUCCESS_RETURN
Uma mensagem foi processada com êxito. O intermediário executa o processamento de confirmação da transação padrão. O nó de entrada determinou que o encadeamento não é necessário e ele é retornado ao conjunto de encadeamentos do fluxo de mensagens. Se esse processamento for executado no único encadeamento ou no último encadeamento ativo, o intermediário impedirá que esse último encadeamento seja retornado ao conjunto. Caso contrário, não haverá nenhum outro encadeamento ativo disponível para despachar outro encadeamento. Nessa situação, o intermediário chama a função de implementação cniRun imediatamente, como se CCI_SUCCESS_CONTINUE tivesse sido retornado.
CCI_FAILURE_CONTINUE
Um erro foi detectado no processamento de uma mensagem e o nó está pedindo que seja executado processamento de rollback da transação. A função de implementação cniRun do nó input é chamada imediatamente.
CCI_FAILURE_RETURN
Um erro foi detectado no processamento de uma mensagem e o nó está pedindo que seja executado processamento de rollback da transação. Entretanto, o nó input determinou que o encadeamento não é necessário e ele pode ser retornado ao conjunto de encadeamentos do fluxo de mensagens. Se esse processamento for executado no último encadeamento ativo, o intermediário impedirá que esse último encadeamento seja retornado ao conjunto. Caso contrário, não haverá nenhum outro encadeamento ativo disponível para despachar outro encadeamento. Nessa situação, o intermediário chama a função de implementação cniRun imediatamente, como se CCI_FAILURE_CONTINUE tivesse sido retornado.
Tarefas relacionadas
Criando um Nó Input em C
Referências relacionadas
Funções de Implementação de Nó C
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:13:07

as07480_