ext-encoding icon indicating copy to clipboard operation
ext-encoding copied to clipboard

Sub buffers

Open dktapps opened this issue 2 years ago • 1 comments

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.

dktapps avatar Feb 17 '23 21:02 dktapps

~This will require removing the zend_string* currently used to handle buffers internally, as zend_string can't be made to point at existing data.~ never mind... this is solvable in other ways

dktapps avatar Oct 27 '23 16:10 dktapps