共用方式為


確認處理

確認處理的事件順序如下:

  1. 建立同步處理層級。

  2. 傳送確認要求。

  3. 接收資料和確認要求。

  4. 回應確認要求。

  5. 解除配置交談。

    使用確認處理,TP 會傳送具有資料的確認要求;合作夥伴 TP 會確認收到資料,或指出發生錯誤。 每次兩個 TP 交換確認要求和回應時,都會進行同步處理。

注意

雖然本節中的範例未顯示此問題,但不論 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= AP_DATA_COMPLETE_CONFIRM_ DEALLOCATE)
MC_CONFIRMED
TP_ENDED TP_ENDED

建立同步處理層級

MC_ALLOCATEsynclevel參數會決定交談的同步處理層級。 有三個可能的同步處理層級:

  • AP_NONE,不會進行確認處理。

  • AP_CONFIRM_SYNC_LEVEL,TP 可以要求確認接收資料,並回應資料確認的要求。

  • AP_SYNCPT,TP 會在同步點層級 2 支援下運作,以確認收到資料。

傳送確認要求

類型為 AP_SEND_DATA_CONFIRM 的MC_SEND_DATA有兩個效果:

  • 它會排清本機 LU 的傳送緩衝區,並將緩衝區中包含的任何資料傳送至夥伴 TP。

  • 它會傳送確認要求,讓夥伴 TP 透過接收動詞命令 的 what_rcvd 參數接收。

    發行 MC_SEND_DATA之後,本機 TP 會等候合作夥伴 TP 的確認。

接收資料和確認要求

MC_RECEIVE_AND_WAITwhat_rcvd參數指出:

  • 收到的資料狀態:完整或不完整。

  • 未來預期會處理本機 TP。

    在此範例中, what_rcvd AP_DATA_COMPLETE_CONFIRM,表示狀態已完成,並要求確認。

回應確認要求

合作夥伴 TP 問題 MC_CONFIRMED 確認收到資料。 這會釋放本機 TP 以繼續處理。

解除配置交談

當下列所有條件成立時,MC_SEND_DATA會傳送確認要求與資料:

  • 對話的同步處理層級 (是由MC_ALLOCATE) 的 synclevel參數所建立AP_CONFIRM_SYNC_LEVEL。

  • MC_SEND_DATA的 type 參數會設定為 AP_SEND_DATA_DEALLOC_SYNC_LEVEL。

  • 最終MC_RECEIVE_AND_WAITwhat_rcvd參數是AP_DATA_COMPLETE_CONFIRM_DEALLOCATE,表示 APPC 將解除配置交談之前,必須先確認收到資料。 本機 TP 會等候此確認,直到合作夥伴 TP 問題 MC_CONFIRMED為止。