Netty 4中的小端支持

时间:2013-08-07 13:30:08

标签: netty endianness

New & Noteworthy个文档说明对的支持已发生重大变化,继续显示ByteBuf.order()的使用情况。虽然这对于在通道处理程序中的本地化使用很有用,但我希望整个下游管道使用little-endian缓冲区。

上游处理程序LengthFieldBasedFrameDecoder采用构造函数参数作为字节顺序,但下游处理程序LengthFieldPrepender没有。似乎对配置驱动的缓冲工厂更换的支持已从Netty 4开始,那么我应该如何到达完整的little-endian下游管道呢?

1 个答案:

答案 0 :(得分:0)

我做到了这一点,虽然感觉非常糟糕:

https://gist.github.com/thomaslee/7871444

如果在运行LengthFieldPrepender之后将其连接到管道中,这将使用小端字节顺序重写(大端)长度字段。

在测量in&的长度后,自己在小端编写长度可能更有效率。完全删除LengthFieldPrepender而不是向管道添加另一个步骤,但这段代码已经被懒惰地复制了。我可以证明它有效。 :)

我也很想知道是否有更好的解决方案,除了在4.x中手动滚动这些东西。