受信チェーン

アプリケーション データの Data メッセージへの分割と、受信チェーンの制御は、アプリケーションで行う必要があります。

セッションのセカンダリ最大送信要求ユニット サイズは、ホストからの BIND 内のパラメーターであり、Open(PLU) OK Confirm メッセージのバインド情報制御ブロック (BICB) で使用できます。 アプリケーションでは、各受信 Data メッセージが 1 つの要求ユニットに対応しているようにする必要があります。 BICB で指定された最大要求ユニット サイズを超えるデータは含まれません。

アプリケーションでは、Data メッセージ ヘッダーのチェーン開始インジケーター (BCI) とチェーン終了インジケーター (ECI) のアプリケーション フラグを使用して、チェーンを制御する必要があります。 (詳細については、「アプリケーション フラグ」を参照してください)。チェーンは回復の単位であり、チェーンで回復可能なエラーが発生した場合、アプリケーションは復旧の責任を負う必要があります。 (詳細については、「回復」を参照してください。)

受信チェーンは、次の方法で終了できます。

  • 完全なチェーンがエラーなしで送信されます。 チェーン内のすべての Data メッセージが、ホストに渡されています。 セッションでセカンダリによる明確な応答チェーンの送信が許可されていて、アプリケーションでチェーンの最後の Data メッセージの ACKRQD フィールドを設定した場合、ホストによって応答が提供されると、アプリケーションはローカル ノードから Status-Acknowledge(Ack) を受信します。

  • ローカル ノードにより、アプリケーションからの Data メッセージの形式またはセッションの状態において、重大なエラーが検出されます。 ローカル ノードにより、Data メッセージはエラー コードを含む Status-Acknowledge(Nack-2) で拒否され、PLU 接続が閉じられます。 PLU 接続を閉じる前に、ローカル ノードによって受信 CANCEL 要求が生成されることに注意してください。 ローカル ノードにより、UNBIND を発生させるための TERM-SELF 要求がホストに送信されます。

  • ホストにより、チェーン内の要求に否定応答が送信されます。 ローカル ノードからアプリケーションに、否定応答のセンス コードとシーケンス番号を含む Status-Acknowledge(Nack-1) メッセージが送信されます。 ホストで ECI アプリケーション フラグを含まない要求が拒否され、アプリケーションによって PLU CICB でアプリケーション キャンセル オプションが指定されていない場合、ローカルノードにより受信 CANCEL 要求も生成されます。 アプリケーションでアプリケーションのキャンセルを指定するときは、EC または Status-Control(CANCEL) を送信してチェーンを終了する必要があります。 後続の受信チェーンは、重大ではない Status-Acknowledge(Nack-2) とセンス コード 0x2002 または 0x2004 (チェーンまたは方向) で拒否されます。 Status-Acknowledge(Nack-1) メッセージを受信したアプリケーションでは、方向がホストに渡されているため、半二重フリップフロップ セッションに対するこのチェーンの後で、データの送信を停止する必要があります。 (詳細については、「方向」を参照してください)。

  • アプリケーションで送信中にチェーンをキャンセルするには、Status-Control(CANCEL) メッセージをローカル ノードに送信します。 ローカル ノードにより、ホストに CANCEL 要求が送信され、ホストから肯定応答を受信したら、アプリケーションに Status-Control(CANCEL) Acknowledge が送信されます。 要求への応答が CANCEL の前にホストから送信された場合、元の Data メッセージで ACKRQD フィールドが設定されていると、アプリケーションに対して適切な Status-Acknowledge メッセージが生成されます。

  • チェーンの送信中に、アプリケーションによって PLU 接続が閉じられます。 ローカル ノードにより、アプリケーションに Close(PLU) Response が送信されます。 要求への応答が Close (PLU) メッセージの前にホストから送信された場合は、アプリケーションへの Status-Acknowledge メッセージは生成されません。 ローカル ノードにより、受信 CANCEL 要求と、UNBIND を発生させるための TERM-SELF 要求も生成されることに注意してください。

    ローカル ノードにより、アプリケーションからの Data メッセージの形式またはセッションの状態において重大ではないエラーが検出された場合は、PLU 接続は閉じられません。 代わりに、Data メッセージは、適切なエラー コードが含まれる Status-Acknowledge(Nack-2) のエラーで拒否されます。 ホストにデータは送信されません。

    受信チェーンがエラーで終了した場合、セッションで半二重プロトコルが使用されているときは、アプリケーションで受信状態を想定する必要があります。 (詳細については、「回復」を参照してください。)

    次の 6 つの図は、ローカル ノードとアプリケーションの間の受信チェーン プロトコルと、それらのプロトコルが基になる SNA プロトコルとどのように関係するかを示したものです。

    最初の図では、完全な受信チェーンがエラーなしで送信され、ホストによって受け入れられます。 Status-Acknowledge(Ack) を受け取った後、アプリケーションはホストへの方向を放棄することに注意してください。

    受信チェーンを示す画像は、エラーなしで送信され、ホストによって受け入れられます。
    受信チェーンがエラーなしで送信され、ホストによって受け入れられる

    次の図では、ローカル ノードによって、チェーンの 2 番目の Data メッセージの形式で重大なエラーが検出され (ECI アプリケーション フラグが設定されていない ACKRQD)、適切なエラー コードと共に Status-Acknowledge(Nack-2) がアプリケーションに送信されて、PLU 接続が閉じられます。 セッションの機能管理 (FM) プロファイルで CANCEL がサポートされている場合にのみ、ローカル ノードで CANCEL が生成されることに注意してください。

    ローカル ノードがエラーを検出し、状態メッセージを送信し、PLU 接続を閉じる方法を示す画像。
    ローカル ノードによってエラーが検出され、Status メッセージが送信されて、PLU 接続が閉じられる

    次の図では、完全な受信チェーンがエラーなしで送信されますが、ホストによって拒否されます。 否定応答の後、アプリケーションは受信状態に入り、エラー回復を保留する必要があります。 (詳細については、「回復」を参照してください。)

    受信チェーンがエラーなしで送信されるが、ホストによって拒否される方法を示す画像。
    受信チェーンがエラーなしで送信されるが、ホストによって拒否される

    次の図では、アプリケーションで Status-Control(CANCEL) を送信することにより、チェーンが取り消されます。 アプリケーションがまだ方向を持っていて、新しいチェーンを開始できることに注意してください。

    アプリケーションが Status-Control(CANCEL) を使用してチェーンを取り消す方法を示す画像。
    アプリケーションが Status-Control(CANCEL) を使用してチェーンをキャンセルする

    次の図では、チェーンの送信中にアプリケーションによって PLU セッションが閉じられます。 セッションの FM プロファイルで CANCEL がサポートされている場合にのみ、ローカル ノードで CANCEL が生成されます。

    アプリケーションがチェーンの送信中に PLU 接続を閉じる方法を示す画像。
    チェーンの送信中に、アプリケーションによって PLU 接続が閉じられる

    次の図では、ローカル ノードによって、チェーンの 2 番目の Data メッセージの形式で重大ではないエラーが検出され、適切なエラー コードと共に Status-Acknowledge(Nack-2) がアプリケーションに送信されます。

    ローカル ノードがクリティカルでないエラーを検出し、Status-Acknowledge(Nack-2) を送信する方法を示す画像。
    ローカル ノードによって重大ではないエラーが検出され、Status-Acknowledge(Nack-2) が送信される

関連項目

PLU 接続を開く
PLU セッション
送信チェーン
セグメントの配信
Brackets
方向
ペーシングとチャンキング
データの確認と拒否]
シャットダウンと休止
回復
アプリケーションが開始する終了
LUSTAT]
応答時間モニターのデータ