Status-Control メッセージ
Status-Control メッセージを使用すると、PLU 接続を使用して、プライマリ論理ユニット (PLU) セッションのセッション制御プロトコルとデータ フロー制御プロトコルにアクセスできます。 これは他の接続では使用されません。 Status-Control メッセージは、同等の SNA セッション制御とデータ フロー制御の要求/応答ユニット (RU) に直接マップされます。
通常のフローでの SNA 要求に対応するすべての Status-Control メッセージ (LUSTAT で送信された Request Exception (RQE) を除く) と、優先フローの CLEAR および STSN 要求に対応する Status-Control メッセージには、ACKRQD (受信確認が必要) フィールドが設定されます。 優先フローでの SNA 要求に対応する Status-Control メッセージ (CLEAR と STSN を除く) には、ローカル ノードによって ACKRQD フィールドが設定されません。 ただし、これらの Status-Control メッセージが送信されるときに、アプリケーションで ACKRQD を設定できます。 このトピックの最後の図では、常に ACKRQD が設定されている Status-Control 要求についてまとめています。
Status-Control 要求のメッセージ ヘッダーに ACKRQD が設定されている場合、送信側でさらにフローの Data メッセージまたは Status-Control 要求を送信する前に、受信側で Status-Control 応答 (Acknowledge、Negative-Acknowledge-1 または Negative-Acknowledge-2) を送信する必要があります。 送信側では、フローの Status-Control 応答、Status-Acknowledge、Status-Error、Status-Resource メッセージを引き続き送信できます。 これは、通常のフローと優先フローの両方と、すべての要求モード (遅延要求モードを含む) に適用されます。 要求で受信したメッセージ キーが、応答で返される必要があります。 (これは、複数の RQE LUSTAT メッセージを未処理の状態にできるようにするためです)。ローカル ノードでは、PLU 接続でアプリケーションに送信する Status-Control 要求および DATAFMI メッセージのメッセージ キーを増分します。
機能管理インターフェイス (FMI) の論理ユニット アプリケーション (LUA) のバリアントでは、メッセージ キー フィールドが次のように異なる方法で使用されます。
優先フローの受信要求の場合、ローカル ノードでは、アプリケーションによってメッセージ キー フィールドに指定された値が SNA シーケンス番号に設定されます。 アプリケーションでは、このフィールドが正しいシーケンス番号に設定されていることを確認する必要があります。
受信 Status-Control 応答の場合、ローカル ノードでは、アプリケーションによってメッセージ キー フィールドに指定された値が SNA シーケンス番号に設定されます。 アプリケーションでは、応答が送信される要求のシーケンス番号がこのフィールドに設定されていることを確認する必要があります。
Status-Control(LUSTAT) の場合を除き、Status-Control 要求に ACKRQD が設定されていない場合、アプリケーションでは応答しない必要があります。これは、肯定応答がローカル ノードによって既に送信されているためです。
たとえば、アプリケーションで (通常のフローの SNA 要求に対応する) ACKRQD が設定された Status-Control(QC) Request を送信した場合、これにより、Status-Control(QC) 応答が受信されるまで、通常の受信フローに対応する以降のデータおよび Status-Control の要求がブロックされます。 通常のフローの他のメッセージや優先フローのメッセージはブロックされません。 たとえば、アプリケーションでは Status-Control(SIGNAL) を引き続き送信できます。
Status-Control 応答を受信することは、フローのすべての未処理のメッセージ (Data メッセージを含む) に対して受信確認したことを意味します。
Status-Control メッセージで ACKRQD を使用すると、明確な応答と即時要求モードが事実上強制されます。 これは次のメッセージの場合に適しています。
SNA 要求 CLEAR および STSN に対応する Status-Control メッセージ (優先フローは RQD であるため)。
LUSTAT (RQE である場合があります) を除くすべての DFC 要求 (RQD) に対応する Status-Control メッセージ。
アプリケーションでは、ACKRQD が不要な場合でも、優先フローの SNA 要求に対応する Status-Control 要求に ACKRQD を設定できます。 たとえば、アプリケーションで方向をシグナリングしている (たとえば、3270 エミュレーターで端末オペレーターが ATTN キーを繰り返し押している) 場合、複数の Status-Control(SIGNAL) Request メッセージが生成され、他のユーザーのパフォーマンスに悪影響を与える可能性があります。 アプリケーションでは、最初の Status-Control(SIGNAL) Request に ACKRQD を設定し、ローカル ノードから Status-Control(SIGNAL) Response を受信するまで、以降の Status-Control(SIGNAL) Request メッセージが発生するイベントを無視することができます。
次の 6 個の図のメッセージ フローには、ACKRQD あり (またはなし) の送信および受信の Status-Control のシーケンスと対応する SNA RU が示されています。
最初の図では、アプリケーションによって Status-Control(CHASE) が送信されています。
アプリケーションによって Status-Control(CHASE) が送信される次の図では、ホストによって BID 要求が送信されています。
ホストによって BID 要求が送信される次の図では、アプリケーションによって Status-Control(SHUTC) が送信されています。
アプリケーションによって Status-Control(SHUTC) が送信される次の図では、ホストによって SNA の SIGNAL 要求が送信されています。
ホストによって SNA の SIGNAL 要求が送信される次の図では、ホストによって複数の RQE LUSTAT 要求が送信され、アプリケーションによって最初の要求が拒否されています。
アプリケーションによって最初の RQE LUSTAT 要求が拒否される次の図では、アプリケーションによって Status-Control(LUSTAT) NOACKRQD が送信されています。
アプリケーションによって Status-Control(LUSTAT) NOACKRQD が送信される次の表には、ローカル ノードと SNA セッション制御 (SC) およびデータ フロー制御 (DFC) の要求でサポートされる Status-Control 要求が要約されています。 各 Status-Control 要求について、この表には次の情報が示されています。
対応する SNA 要求の SNA カテゴリ (SC または DFC)。
対応する SNA 要求によって使用されるフロー (通常または優先)。
対応する SNA 要求がサポートされる TS または FM プロファイル。
有効な方向 (NODE <–> APPL)。
ACKRQD が必要であるかどうか。 アプリケーションでは、ACKRQD を必要としない Status-Control 要求に ACKRQD を設定することができます。
Status-Control メッセージのコントロール タイプ フィールドで使用される 16 進コード。 (詳細については、「FMI のメッセージ形式」を参照してください。)
Status-Control | SNA RQ フロー | TS プロファイル | FM プロファイル | 方向 ノード – アプリケーション | ACKRQD | コード |
---|---|---|---|---|---|---|
CLEAR | SC、Exp | 2、3、4 | – | –> | ACKRQD | CCLEAR (0x01) |
SDT | SC、Exp | 3、4 | – | –> | – | CSDT (0x02) |
RQR | SC、Exp | 4 | – | <– | – | CRQR (0x03) |
STSN | SC、Exp | 4 | – | –> | ACKRQD | CSTSN (0x04) |
CANCEL | DFC、Norm | – | 3、4、7 | <–> | ACKRQD | CCANCEL (0x10) |
LUSTAT | DFC、Norm | – | 3、4、7 | <–> | – | CLUSTAT (0x11) |
SIGNAL | DFC、Exp | – | 3、4、7 | <–> | – | CSIGNAL (0x12) |
RSHUTD | DFC、Exp | – | 3、4、7 | <– | – | CRSHUTD (0x13) |
BID | DFC、Norm | – | 3、4 | –> | ACKRQD | CBID (0x14) |
CHASE | DFC、Norm | – | 3、4 | <–> | ACKRQD | CCHASE (0x15) |
SHUTC | DFC、Exp | – | 3、4 | <– | – | CSHUTC (0x16) |
SHUTD | DFC、Exp | – | 3、4 | –> | – | CSHUTD (0x17) |
RTR | DFC、Norm | – | 3、4 | <– | ACKRQD | CRTR (0x18) |
QC | DFC、Norm | – | 4 | <–> | ACKRQD | CQC (0x20) |
QEC | DFC、Exp | – | 4 | <–> | – | CQEC (0x21) |
RELQ | DFC、Exp | – | 4 | <–> | – | CRELQ (0x22) |
次の表の要求は、LUA でのみ使用されます。 (詳細については、「FMI の概念」を参照してください。)
Status-Control | SNA RQ フロー | TS プロファイル | FM プロファイル | 方向 ノード – アプリケーション | ACKRQD | コード |
---|---|---|---|---|---|---|
CRV | SC、Exp | 3、4 | – | –> | ACKRQD | CCRV (0x05) |
BIS | DFC、Norm | – | 18 | <–> | ACKRQD | CBIS (0x19) |
SBI | DFC、Exp | – | 18 | <–> | ACKRQD | CSBI (0x1A) |
特定の Status-Control メッセージの使用方法については、このセクションの次のトピックで説明しています (PLU セッション プロトコル (チェーン、ブラケット、回復など) のコンテキスト)。
Status-Control メッセージの形式については、「Status-Control」を参照してください。