Class SimpleByteBufferSink

java.lang.Object
io.deephaven.io.streams.SimpleByteBufferSink
All Implemented Interfaces:
ByteBufferSink, CurrentByteBufferSink

public class SimpleByteBufferSink extends Object implements CurrentByteBufferSink
  • Constructor Details

    • SimpleByteBufferSink

      public SimpleByteBufferSink(ByteBuffer b, boolean direct)
    • SimpleByteBufferSink

      public SimpleByteBufferSink(ByteBuffer b)
  • Method Details

    • getBuffer

      public ByteBuffer getBuffer()
      Description copied from interface: CurrentByteBufferSink
      Access the current buffer for this sink. This is either the initial buffer, or the last one provided by ByteBufferSink.acceptBuffer(ByteBuffer, int)) or CurrentByteBufferSink.ensureSpace(int).
      Specified by:
      getBuffer in interface CurrentByteBufferSink
      Returns:
      The current buffer for this sink
    • acceptBuffer

      public ByteBuffer acceptBuffer(ByteBuffer b, int need)
      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 interface ByteBufferSink
      Parameters:
      b - the buffer whose contents need to be disposed of.
      Returns:
      the buffer in which further output should be written.
    • close

      public void close(ByteBuffer b) throws IOException
      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 interface ByteBufferSink
      Throws:
      IOException