
售前電話
135-3656-7657
售前電話 : 135-3656-7657
國家高新技術企業 省級專精特新企業
咨詢熱線:135-3656-7657 400-6333-661
在ccb.cptlb.state中存放的CCB的狀態可具有以下的值:
•onfreeqCCB在空閑隊列中。
•onreadyq2CCB在呼出隊列中,可以有1至2封信件編在ccb.cptlb.letterq,呼出代理的TSW應與CCB鏈接。
•onreadyqlCCB在進行隊列中,可以有1至2封信件以及1.314.個或多個TSW與CCB鏈接。
•linked_cpmbCCB與CDB及其相關的進程鏈接,有一個或多個TSW與CCB鏈接,也可能有信件鏈接。
•linked_nocpmb呼叫在壓縮期間»CCB不與CDB勾連,也無信件勾連,但至少有一個TSW鏈接到CCB.
•unavailable表示呼叫在進行差錯恢復的處理。
圖5.19表示了CCB的狀態轉移。
對照圖5.19中的數字,說明如下:
①收到呼出消息。收到呼出消息將使CCB從狀態onfreeq轉移到onreadyq2。
②收到后繼消息,啟動新的事務處理。在狀態onreadyq2或on-readyql收到消息,呼叫進程開始新的事務處理,CCB就轉移到狀態linked_cpmbo此時應與呼叫進程及CDB,相鏈接。
(a)呼出進程先從進行隊列(CCB在狀態onreadyql)取出CCB,處理完變成空鏈后才從呼出隊列中取出CCB(CCB在狀態on-readyq2)o取出一個CCB后,就與CDB勾連。
(b)與CCB鏈接的第一封信件內容復制到cdb.message中,信件歸還到可用隊列。
(c)呼叫進程按照發送消息的代理屬性,用表格驅動方式調用相應的呼叫處理應用過程。
(d)如兩個隊列都為空鏈,呼叫進程自身掛起在availcpmbs隊列。
③呼叫壓縮。當呼叫壓縮時,CCB從linked.cpmb轉移到linked_nocpmbo呼叫壓縮發生于以下情況:
(a)當前的事務處理完成。
(b)如有2封信件,則處理完第1封信件后,又處理下一個事務。當無信件鏈接在CCB±時,呼叫被壓縮。
④壓縮的呼叫收到進展的消息。CCB從狀態linked-nocpmb轉移到onreadyqlo
⑤呼叫正常終止。呼叫結束時,CCB從狀態linked_cpmb轉移到onfreeqo此時,應無任何TSW、信件、CDB、ECCB等與CCB勾連。CCB內容初始化,返回到可用隊列,CCB的順序號則加K
⑥發生嚴重故障。當發生嚴重故障或陷阱時,可從任何狀態轉移到unavailable狀態,呼叫進程被殺死,向呼叫父進程發送死亡消息。圖5.19中表示的是從linked^cpmb轉移到unavailableo
⑦在嚴重故障后清除呼叫。當從嚴重故障或陷阱中恢復后,父進程重新創建呼叫進程,將呼叫清除,CCB從狀態unavailable轉移^|<Hifreeqo
⑧呼叫執行等待或延遲。CCB在狀態linked_cpmb時,呼叫進程可以將自身掛起在定時隊列以等待一消息或執行延遲操作。在此館況下,CCB的狀態不變。
⑨等待超時、收到消息或延時已到。在等待超時、未超時而收到浪懇,或菇時已到時間,呼叫進程將準備運行。CCB的狀態仍在linked_cpmb。