我有一个或多个ByteBuffers包含单个消息的一部分.现在我想阅读此消息,但我不想将N ByteBuffer复制到单个消息中.我的解析器期望单个ByteBuffer具有完整的消息,但是我的消息被分成N个ByteBuffers.
有没有办法将这些N ByteBuffers组合成一个没有字节复制的单个?我想象了ByteBuffer抽象类的某种智能实现,它由引擎盖下的这些ByteBuffer备份,只需调整指针并委托给正确的ByteBuffer.
如果您对我需要的原因感到好奇,请查看下面的BM&F/Bovespa协议.它们将消息分成块,并且它们可以在不同的数据包中无序出现,换句话说,相同的消息序列可以包含多个数据包,每个数据包都有一个消息块.我无法按顺序写入相同的ByteBuffer,因为这些块可能出现故障.:(
我错过了一些更聪明的东西吗?在下面给出了这个块协议,看起来没有办法顺序写入相同的ByteBuffer.:(
