次の方法で共有


LUA アプリケーションからの受信データ

ローカル ノードは、クライアント アプリケーションから提供されたデータに対して特定のチェックを実行してからホストに送信し、チェックが失敗した場合は Status-Acknowledge(Nack-2) メッセージで拒否します。 データがチェックに合格した場合、アプリケーションに受信確認は返されません (ただし、ホストは後で行うことができます)。

クライアント アプリケーションが論理ユニット アプリケーション (LUA) API を提供している場合、API の設計では、ローカル ノードがデータをチェックするまで、アプリケーションにデータを受信する LUA 動詞が完了しないことが必要になる場合があります。 このため、ローカル ノードは、受信メッセージの送信チェックを完了した後、関数管理インターフェイス (FMI) の LUA バリアントを使用するクライアント アプリケーションに常に応答します。 これにより、クライアント アプリケーションは LUA 動詞の処理を完了し、LUA アプリケーション プログラムに制御を返すことができます。

受信メッセージがローカル ノードの送信チェックに合格し、ホストに送信される場合、ローカル ノードは Status-Acknowledge(ACKLUA) メッセージをクライアント アプリケーションに送信してこれを示します。 クライアント アプリケーションは、OK リターン コードを使用して LUA 動詞処理を完了できます。 Status-Acknowledge(ACKLUA) メッセージは、データがホストに正常に送信された、またはホストが受信したことを意味しないことに注意してください。 後で、ホストがデータを拒否したことを示す Status-Acknowledge(Nack-1) メッセージが表示されることがあります。

受信メッセージがローカル ノードの送信チェックに失敗した場合、LUA 以外のクライアント アプリケーションの場合と同様に Status-Acknowledge(Nack-2) メッセージが返されます。 クライアント アプリケーションは、メッセージを送信した LUA 動詞に OK 以外のリターン コードを使用して、LUA アプリケーション プログラムにこれを報告できます。

したがって、クライアント アプリケーションが LUA API を提供している場合は、 Status-Acknowledge(ACKLUA) または Status-Acknowledge(Nack-2) を待機して、OK またはエラーリターン コードを LUA 送信動詞に返すかどうかを判断する必要があります。 ローカル ノードの送信チェックに依存する必要がない場合、クライアント アプリケーションは Status-Acknowledge(ACKLUA) メッセージを 無視できます。

ローカル ノードがクライアント アプリケーションに応答する前に送信チェックを完了できない特定の競合状態があることに注意してください。 このような場合、ローカル ノードは Status-Acknowledge(ACKLUA) を返しますが、残りの送信チェック中にエラーが検出された場合は、その後 Status-Acknowledge(Nack-2) を送信することがあります。 そのため、クライアント アプリケーションは、同じ受信メッセージの Status-Acknowledge(ACKLUA) の後に Status-Acknowledge(Nack-2) を受け取る場合があります。

FMI の LUA バリアントの伝送ヘッダー (TH) では、優先フロー インジケーター (EFI)、宛先アドレス フィールド (DAF)、および配信元アドレス フィールド (OAF) が使用されます。 その他のフィールド (シーケンス番号フィールドを含む) は無視されます。 FMI の LUA バリアントの RH では、キュー応答インジケーター (QRI) とペーシング インジケーター (PI) を除くすべてのフィールドが使用されます。

受信データの場合、最初のバイトは FMI の LUA バリアントの TH[0] です。

次の 3 つの図は、アプリケーションが送信できるさまざまなメッセージの Status-Acknowledge(ACKLUA) 受信確認プロトコルを示しています。

最初の図では、アプリケーションはローカル ノードの送信チェックに合格する データ メッセージを送信します。

アプリケーションがローカル ノードの送信チェックに合格するデータ メッセージを送信する方法を示す画像。
アプリケーションは、ローカル ノードの送信チェックに合格するデータ メッセージを送信します

次の図では、アプリケーションは、ローカル ノードの送信チェックに合格する Status-Acknowledge(Ack) メッセージを送信します。

アプリケーションが、ローカル ノードの送信チェックに合格する Status-Acknowledge(Ack) メッセージを送信する方法を示す画像。
アプリケーションは、ローカル ノードの送信チェックに合格する Status-Acknowledge(Ack) メッセージを送信します

次の図では、アプリケーションは、ローカル ノードの送信チェックに合格する Status-Acknowledge(Nack-1) メッセージを送信します。

アプリケーションが、ローカル ノードの送信チェックに合格する Status-Acknowledge(Nack-1) メッセージを送信する方法を示す画像。
アプリケーションは、ローカル ノードの送信チェックに合格する Status-Acknowledge(Nack-1) メッセージを送信します

こちらもご覧ください

送信データ
受信データ