To provide a writer to LSSerializer (and anything else that wants it _) we need to wrap appendables.
Pools byte arrays
A section of a Byte array.
Represents a chunk of data to feed into an async parser.
An abstraction over a stream that provides DataChunks
ByteBuffer.allocateDirect(bufferSize) backed pool
ByteBuffer.allocateDirect(bufferSize) backed pool
8k default buffer size with a pool reduction of 30
Represents the full array
ByteBuffer.allocate(bufferSize) backed pool
ByteBuffer.allocate(bufferSize) backed pool
8k default buffer size with a pool reduction of 30.
Wrap the InputStream to allow better bracketing etc.
Wrap the Reader to allow better bracketing etc.
Convenience function for wrapping a channel
Wraps a ReadableByteChannel to provide DataChunks, optionally closes the channel (defaults to closing).
Wraps a ReadableByteChannel to provide DataChunks, optionally closes the channel (defaults to closing).
Can work with either direct or heap based buffers and uses pools to re-use the allocated buffers.
Wraps a ReadableByteChannel to provide DataChunks, optionally closes the channel (defaults to closing).
Wraps a ReadableByteChannel to provide DataChunks, optionally closes the channel (defaults to closing).
This base implementation should only be used against already provided buffers, prefer using ReadableByteChannelWrapper directly instead.
Default buffer pool backed by byte arrays
Default Byte Array pool with 8k chunks
Represents the end of a stream, no more Bytes are available
Represents a data stream with no immediate data to return.
Represents a chunk of data to feed into an async parser. The instance is deemed "owned" by the asnyc parser until it requires more input.