A ByteBuffer which can read from a subsection of another ByteBuffer's memory would be useful for reducing allocations.
For example, Minecraft packet batches contain length-prefixed packet buffers. Each of these buffers currently has to be copied to a new BinaryStream via substr() in order to be decoded. This allocation could be avoided if BinaryStream were capable of directly reading the memory of the original stream.
A ByteBuffer which can read from a subsection of another ByteBuffer's memory would be useful for reducing allocations.
For example, Minecraft packet batches contain length-prefixed packet buffers. Each of these buffers currently has to be copied to a new BinaryStream via substr() in order to be decoded. This allocation could be avoided if BinaryStream were capable of directly reading the memory of the original stream.