關(guān)于協(xié)議設(shè)計(jì)的一點(diǎn)想法:
1. 協(xié)議的設(shè)計(jì)分成兩個(gè)主要部分:鏈路的管理以及數(shù)據(jù)的收發(fā)。
2. 鏈路管理就是鏈路的配置,建立,斷開。
3.重要的一點(diǎn),兩個(gè)設(shè)備之間的鏈路建立是順序的,一條鏈路沒有建好是不能建立下一條鏈路的。
4.一個(gè)設(shè)備在接收其他設(shè)備的鏈接時(shí),可以同時(shí)處理,不會(huì)因?yàn)橐粭l鏈路阻塞而阻塞另外一條。
5. 每條鏈路都有一個(gè)狀態(tài)機(jī)
6.兩個(gè)設(shè)備之間鏈路建立好了之后,可以建立多個(gè)通道。
7.設(shè)備之間的通道的建立必須是順序的,一個(gè)通道建立不成功是不允許建立下一條通道的。
8.這樣當(dāng)建立多個(gè)通道時(shí),再建立新通道時(shí),首先要判斷先前的通道是否已經(jīng)建立好,只有建立好了才能建立新的。
9. Tx和Rx的設(shè)計(jì),協(xié)議棧采用統(tǒng)一的一塊內(nèi)存來管理分配和釋放。
10.協(xié)議是有流程的,必須按照流程來走,如果發(fā)送的request沒有response,那么會(huì)有超時(shí)處理的,可以重連或者斷開連接。
11. 協(xié)議是異步的,不存在一個(gè)函數(shù)直接建立連接并成功,只會(huì)等待連接建立好的response,來表示連接建立成功。
12. 數(shù)據(jù)的TX也是異步的。
1. 協(xié)議的設(shè)計(jì)分成兩個(gè)主要部分:鏈路的管理以及數(shù)據(jù)的收發(fā)。
2. 鏈路管理就是鏈路的配置,建立,斷開。
3.重要的一點(diǎn),兩個(gè)設(shè)備之間的鏈路建立是順序的,一條鏈路沒有建好是不能建立下一條鏈路的。
4.一個(gè)設(shè)備在接收其他設(shè)備的鏈接時(shí),可以同時(shí)處理,不會(huì)因?yàn)橐粭l鏈路阻塞而阻塞另外一條。
5. 每條鏈路都有一個(gè)狀態(tài)機(jī)
6.兩個(gè)設(shè)備之間鏈路建立好了之后,可以建立多個(gè)通道。
7.設(shè)備之間的通道的建立必須是順序的,一個(gè)通道建立不成功是不允許建立下一條通道的。
8.這樣當(dāng)建立多個(gè)通道時(shí),再建立新通道時(shí),首先要判斷先前的通道是否已經(jīng)建立好,只有建立好了才能建立新的。
9. Tx和Rx的設(shè)計(jì),協(xié)議棧采用統(tǒng)一的一塊內(nèi)存來管理分配和釋放。
10.協(xié)議是有流程的,必須按照流程來走,如果發(fā)送的request沒有response,那么會(huì)有超時(shí)處理的,可以重連或者斷開連接。
11. 協(xié)議是異步的,不存在一個(gè)函數(shù)直接建立連接并成功,只會(huì)等待連接建立好的response,來表示連接建立成功。
12. 數(shù)據(jù)的TX也是異步的。

