この関数を使用して、指定したターミナル・オブジェクトにメッセージを伝搬します。 ターミナルがコネクターによって他のノードに付加されていない場合には、メッセージは伝搬されず、この関数は無視されます。
したがって、このシナリオでノードに異なるアクションを取らせたい場合を除いて、メッセージの伝搬の前にターミナルが付加されているかどうかを検査する必要はありません。 必要に応じて、この関数を呼び出す前に cniIsTerminalAttached を使用し、ターミナルが接続されているかを検査することができます。
int cniPropagate(
int* returnCode,
CciTerminal* terminalObject,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* message);
このメッセージ・オブジェクトは、ブローカーによって提供されるパブリッシュ/サブスクライブ・ノードによって使用されます。
旧バージョンとの互換性のために、このパラメーターを destinationList として参照することができます。
成功した場合、CCI_SUCCESS が戻されます。 失敗した場合、CCI_FAILURE が戻され、returnCode パラメーターがエラーの理由を示します。
if (terminalObject) {
if (cniIsTerminalAttached(&rc, terminalObject)) {
if (rc == CCI_SUCCESS) {
cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);