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

所以我正在玩的源代码java.util.PriorityQueue.你可以在这里查看:http://kickjava.com/src/java/util/PriorityQueue.java.htm
我需要偷看队列的尾部.这个课程只提供偷看队列的头部.有没有一种简单的方法可以修改这个类让我选择尾巴?
我正在寻找这堂课中的任何改变/聪明的黑客,让我这样做.我的第一次尝试是偷看,queue[size]但它不起作用.