次の方法で共有


確認処理

確認処理のイベントのシーケンスは次のとおりです。

  1. 同期レベルを確立します。

  2. 確認要求を送信します。

  3. データと確認要求を受け取ります。

  4. 確認要求に応答します。

  5. 会話の割り当てを解除します。

    TP は、確認処理を使用して、データを含む確認要求を送信します。パートナー TP は、データの受信を確認するか、エラーが発生したことを示します。 2 つの TP が確認要求と応答を交換するたびに同期されます。

Note

このセクションの例ではこれを示していませんが、TP が呼び出し元 TP か呼び出し可能 TP かに関係なく、どの TP でもデータを送受信できます。

次の例は、確認処理を示しています。

呼び出し元 TP によって発行される 呼び出し可能 TP によって発行される
TP_STARTED
MC_ALLOCATE
(synclevel=AP_CONFIRM_SYNC_LEVEL)
MC_SEND_DATA
(type=AP_SEND_DATA_CONFIRM)
RECEIVE_ALLOCATE
MC_RECEIVE_AND_WAIT
MC_SEND_DATA
(type=AP_SEND_DATA_DEALLOC_SYNC_LEVEL)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(rtn_status=AP_YES)
(what_rcvd= DEALLOCATE AP_DATA_COMPLETE_CONFIRM_)
MC_CONFIRMED
TP_ENDED TP_ENDED

同期レベルの確立

MC_ALLOCATEsynclevel パラメーターによって、会話の同期レベルが決まります。 可能な同期レベルは 3 つあります。

  • 確認処理が行われなかったAP_NONE。

  • AP_CONFIRM_SYNC_LEVEL、TP がデータの受信の確認を要求し、データの確認要求に応答できます。

  • AP_SYNCPT、同期ポイント レベル 2 で TP が動作し、データの受信確認がサポートされます。

確認要求の送信

AP_SEND_DATA_CONFIRMを持つMC_SEND_DATAには、次の 2 つの効果があります。

  • ローカル LU の送信バッファーをフラッシュし、バッファーに含まれるすべてのデータをパートナー TP に送信します。

  • パートナー TP が受信動詞の what_rcvd パラメーターを介して受信する確認要求を送信します。

    MC_SEND_DATAを発行した後、ローカル TP はパートナー TP からの確認を待機します。

データの受信と確認要求

MC_RECEIVE_AND_WAITの what_rcvd パラメーターは次を示します。

  • 受信したデータの状態: 完了または不完全。

  • ローカル TP の将来の処理が予想されます。

    この例では、 状態 が完了し、確認が要求されたことを示すwhat_rcvdがAP_DATA_COMPLETE_CONFIRMされています。

確認要求への応答

パートナー TP は、データの受信を確認するために MC_CONFIRMED を発行します。 これにより、ローカル TP が処理を再開できます。

会話の割り当てを解除する

MC_SEND_DATA は、次のすべての条件に該当する場合に、データを含む確認要求を送信します。

  • 会話の同期レベル (MC_ALLOCATEsynclevel パラメーターによって確立) がAP_CONFIRM_SYNC_LEVEL。

  • MC_SEND_DATAの型パラメーターは、AP_SEND_DATA_DEALLOC_SYNC_LEVELに設定されます。

  • 最後のMC_RECEIVE_AND_WAITのwhat_rcvd パラメーターがAP_DATA_COMPLETE_CONFIRM_DEALLOCATEされ、APPC が会話の割り当てを解除する前にデータの受信確認が必要であることを示します。 ローカル TP は、パートナー TP が MC_CONFIRMEDを発行するまで、この確認を待機します。