1

オブジェクトをネットワークに書き込んでいるときに、Netty はバッファーのコピーを回避する方法を提供してくれますか? 私のChannel.write(Object)理解では、このオブジェクトはエンコーダー ( ChannelBuffer のコピーを返す) を通過するように作られています。これは基本的に、メッセージごとに buffer copy を作成し、最終的に多数の短命のバッファオブジェクトを作成することを意味します

Netty は、再利用可能な ChannelBuffer を提供して、バイトを埋めて、これらのバイトを直接ネットワークに書き込むことができますか?

4

1 に答える 1

0

Nettyはすでにバッファをリサイクルしているので、これを気にする必要はありません。

また、エンコーダー/デコーダーは自分で作成したものだけです。NettyはChannelBufferオブジェクトのみを処理できます。チャネルにChannelBufferを書き込んでいる場合、その周りに魔法はなく、その内容は出力に直接書き込まれます。

できる(そしてすべき)ことは、データをバッファにロードするときに動的バッファの割り当てを回避するために必要な正確なサイズのバッファを作成することです。

于 2012-05-30T11:52:28.180 に答える