LUA アプリケーションからの受信データ
クライアント アプリケーションによって提供されたデータは、ホストに送信され前にローカル ノードによって特定のチェックが実行され、チェックが失敗した場合、Status-Acknowledge(Nack-2) メッセージで拒否されます。 データがチェックに合格した場合、アプリケーションに受信確認は返されません (ただし、ホストは後で行う可能性があります)。
クライアント アプリケーションで論理ユニット アプリケーション (LUA) API が提供されている場合、API の設計により、ローカル ノードでデータがチェックされるまで、アプリケーションに受信データを送信する LUA Verb が完了しないようにすることが必要になる場合があります。 このため、ローカル ノードでは、受信メッセージの送信チェックを完了した後、機能管理インターフェイス (FMI) の LUA バリエーションを使用するクライアント アプリケーションに常に応答します。 これにより、クライアント アプリケーションは LUA Verb の処理を完了し、LUA アプリケーション プログラムに制御を戻すことができます。
受信メッセージがローカル ノードの送信チェックに合格し、ホストに送信される場合、これを示すため、ローカル ノードによって Status-Acknowledge(ACKLUA) メッセージがクライアント アプリケーションに送信されます。 その後、クライアント アプリケーションは、OK リターン コードを使用して LUA Verb の処理を完了できます。 Status-Acknowledge(ACKLUA) メッセージは、データがホストに正常に送信されたこと、またはホストでそれが受信されたことを意味してはいないことに注意してください。 後で、データがホストによって拒否されたことを示す Status-Acknowledge(Nack-1) メッセージを受け取る場合があります。
受信メッセージがローカル ノードの送信チェックで失敗した場合は、LUA 以外のクライアント アプリケーションの場合と同様に、Status-Acknowledge(Nack-2) メッセージが返されます。 その後、クライアント アプリケーションでは、メッセージを送信した LUA Verb に対して OK 以外のリターンコードを使用して、このことを LUA アプリケーション プログラムに報告できます。
したがって、クライアント アプリケーションで LUA API を提供している場合は、Status-Acknowledge(ACKLUA) または Status-Acknowledge(Nack-2) を待機し、LUA の送信 Verb に OK またはエラーのどちらのリターン コードを返すかを判断する必要があります。 このローカル ノードによる送信チェックに依存する必要がない場合は、クライアント アプリケーションで 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) 受信確認プロトコルを示します。
最初の図では、アプリケーションによりローカル ノードの送信チェックに合格する Data メッセージが送信されます。
ローカル ノードの送信チェックに合格する Data メッセージが、アプリケーションによって送信される
次の図では、アプリケーションによりローカル ノードの送信チェックに合格する Status-Acknowledge(Ack) メッセージが送信されます。
ローカル ノードの送信チェックに合格する Status-Acknowledge(Ack) メッセージが、アプリケーションによって送信される
次の図では、アプリケーションによりローカル ノードの送信チェックに合格する Status-Acknowledge(Nack-1) メッセージが送信されます。
ローカル ノードの送信チェックに合格する Status-Acknowledge(Nack-1) メッセージが、アプリケーションによって送信される