Netty之ByteBufHolder的使用

2018-08-08 10:33 更新

我們時(shí)不時(shí)的會(huì)遇到這樣的情況:即需要另外存儲(chǔ)除有效的實(shí)際數(shù)據(jù)各種屬性值。HTTP響應(yīng)就是一個(gè)很好的例子;與內(nèi)容一起的字節(jié)的還有狀態(tài)碼,cookies等

Netty 提供的 ByteBufHolder 可以對(duì)這種常見(jiàn)情況進(jìn)行處理。 ByteBufHolder 還提供了對(duì)于 Netty 的高級(jí)功能,如緩沖池,其中保存實(shí)際數(shù)據(jù)的 ByteBuf 可以從池中借用,如果需要還可以自動(dòng)釋放。

ByteBufHolder 有那么幾個(gè)方法。到底層的這些支持接入數(shù)據(jù)和引用計(jì)數(shù)。表5.7所示的方法(忽略了那些從繼承 ReferenceCounted 的方法)。

Table 5.7 ByteBufHolder operations

名稱(chēng)描述
data()返回 ByteBuf 保存的數(shù)據(jù)
copy()制作一個(gè) ByteBufHolder 的拷貝,但不共享其數(shù)據(jù)(所以數(shù)據(jù)也是拷貝).

如果你想實(shí)現(xiàn)一個(gè)“消息對(duì)象”有效負(fù)載存儲(chǔ)在 ByteBuf,使用ByteBufHolder 是一個(gè)好主意。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)