摘要:
本節(jié)將介紹第一個實現(xiàn)具體傳輸功能的類TSocket,這個類是基于TCP socket實現(xiàn)TTransport的接口。下面具體介紹這個類的相關(guān)函數(shù)功能實現(xiàn)。 1.構(gòu)造函數(shù) 分析一個類的功能首先看它的定義和構(gòu)造函數(shù)實現(xiàn),先看看它的定義:class TSocket : public TVirtualTransport { ......} 由定義可以看書TSocket繼承至虛擬傳輸類,并且把自己當(dāng)做模板參數(shù)傳遞過去,所以從虛擬傳輸類繼承下來的虛擬函數(shù)(如read_virt)調(diào)用非虛擬函數(shù)(如read)就是TSocket自己實現(xiàn)的。 TSocket類的構(gòu)造函數(shù)有4個,當(dāng)然還有一個析構(gòu)函數(shù)。四個構(gòu)... 閱讀全文
posted @ 2013-07-25 22:51
薔薇理想人生
閱讀(14138)
評論(0)
推薦(1)
摘要:
默認(rèn)傳輸類TTransportDefaults提供了抽象類TTransport的默認(rèn)實現(xiàn),實現(xiàn)了非虛擬的方法(*_virt) read(), readAll(), write(),borrow() and consume()?;怲Transport總是調(diào)用對應(yīng)的虛擬函數(shù),而默認(rèn)傳輸類按照默認(rèn)的方式實現(xiàn)而不去自己在覆蓋哪些對應(yīng)的虛擬函數(shù)了。 其實這個默認(rèn)傳輸類的主要作用是作為虛擬傳輸類TVirtualTransport的父類,那么為什么需要這個類作為虛擬傳輸類的父類而不是直接采用抽象基類?由下面介紹虛擬基類的實現(xiàn)方式來決定的,因為為了避免采用虛基類,所以虛擬傳輸類采用了模板的方式來實現(xiàn)多繼承. 閱讀全文
posted @ 2013-07-25 22:49
薔薇理想人生
閱讀(1130)
評論(0)
推薦(0)
摘要:
本章主要介紹Thrift的傳輸層功能的實現(xiàn),傳輸?shù)姆绞蕉喾N多樣,可以采用壓縮、分幀等,而這些功能的實現(xiàn)都是相互獨立,和上一章介紹的協(xié)議類實現(xiàn)方式比較雷同,還是先看看這部分的類關(guān)系圖,如下: 由上面的類關(guān)系圖可以看出,這部分的功能是相當(dāng)?shù)膹姶?,所以類比較多且關(guān)系錯綜復(fù)雜。但是如果理解清楚了這些類直接的關(guān)系就很容易掌握這部分的實現(xiàn)技術(shù)和這部分實現(xiàn)的功能。我們把這個類關(guān)系圖分為三部分來看,第一部分看抽象基類TTransport類,它是所有傳輸類的基類,有很大一部分類直接從它繼承實現(xiàn)它提供或者說定義的接口函數(shù)(純虛函數(shù)),這些傳輸類功能比較單一實現(xiàn)也比較簡單;第二部分就是TTransport抽象類的. 閱讀全文
posted @ 2013-07-25 00:03
薔薇理想人生
閱讀(2311)
評論(0)
推薦(0)
浙公網(wǎng)安備 33010602011771號