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