Package io.deephaven.io.streams
Class SimpleByteBufferSink
java.lang.Object
io.deephaven.io.streams.SimpleByteBufferSink
- All Implemented Interfaces:
ByteBufferSink
,CurrentByteBufferSink
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.io.streams.CurrentByteBufferSink
CurrentByteBufferSink.Adapter
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionacceptBuffer
(ByteBuffer b, int need) Dispose of the contents of the buffer b, probably by writing them to a channel, and return a new buffer in which writing can continue.void
close
(ByteBuffer b) Dispose of the contents of the final buffer in an output sequence, probably by writing them to a channel.Access the current buffer for this sink.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.deephaven.io.streams.CurrentByteBufferSink
close, ensureSpace, flush
-
Constructor Details
-
SimpleByteBufferSink
-
SimpleByteBufferSink
-
-
Method Details
-
getBuffer
Description copied from interface:CurrentByteBufferSink
Access the current buffer for this sink. This is either the initial buffer, or the last one provided byByteBufferSink.acceptBuffer(ByteBuffer, int)
) orCurrentByteBufferSink.ensureSpace(int)
.- Specified by:
getBuffer
in interfaceCurrentByteBufferSink
- Returns:
- The current buffer for this sink
-
acceptBuffer
Description copied from interface:ByteBufferSink
Dispose of the contents of the buffer b, probably by writing them to a channel, and return a new buffer in which writing can continue. The returned buffer must have at least need bytes of space remaining. The return value may be the same buffer, as long as it's remaining() value has been increased to be >= need.- Specified by:
acceptBuffer
in interfaceByteBufferSink
- Parameters:
b
- the buffer whose contents need to be disposed of.- Returns:
- the buffer in which further output should be written.
-
close
Description copied from interface:ByteBufferSink
Dispose of the contents of the final buffer in an output sequence, probably by writing them to a channel. Note that the argument buffer may be empty. Then do whatever it takes to release the resources of the sink, probably by closing a channel.- Specified by:
close
in interfaceByteBufferSink
- Throws:
IOException
-