Class AutoExpandingBufferWriteTransport

All Implemented Interfaces:
Closeable, AutoCloseable

public final class AutoExpandingBufferWriteTransport extends TEndpointTransport
TTransport for writing to an AutoExpandingBuffer.
  • Constructor Details

    • AutoExpandingBufferWriteTransport

      public AutoExpandingBufferWriteTransport(TConfiguration config, int initialCapacity, int frontReserve) throws TTransportException
      Constructor.
      Parameters:
      config - the configuration to use. Currently used for defining the maximum message size.
      initialCapacity - the initial capacity of the buffer
      frontReserve - space, if any, to reserve at the beginning such that the first write is after this reserve. This allows framed transport to reserve space for the frame buffer length.
      Throws:
      IllegalArgumentException - if initialCapacity is less than one
      IllegalArgumentException - if frontReserve is less than zero
      IllegalArgumentException - if frontReserve is greater than initialCapacity
      TTransportException
  • Method Details

    • close

      public void close()
      Description copied from class: TTransport
      Closes the transport.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class TTransport
    • isOpen

      public boolean isOpen()
      Description copied from class: TTransport
      Queries whether the transport is open.
      Specified by:
      isOpen in class TTransport
      Returns:
      True if the transport is open.
    • open

      public void open() throws TTransportException
      Description copied from class: TTransport
      Opens the transport for reading/writing.
      Specified by:
      open in class TTransport
      Throws:
      TTransportException - if the transport could not be opened
    • read

      public int read(byte[] buf, int off, int len) throws TTransportException
      Description copied from class: TTransport
      Reads up to len bytes into buffer buf, starting at offset off.
      Specified by:
      read in class TTransport
      Parameters:
      buf - Array to read into
      off - Index to start reading at
      len - Maximum number of bytes to read
      Returns:
      The number of bytes actually read
      Throws:
      TTransportException - if there was an error reading data
    • write

      public void write(byte[] toWrite, int off, int len) throws TTransportException
      Description copied from class: TTransport
      Writes up to len bytes from the buffer.
      Specified by:
      write in class TTransport
      Parameters:
      toWrite - The output data buffer
      off - The offset to start writing from
      len - The number of bytes to write
      Throws:
      TTransportException - if there was an error writing data
    • getBuf

      public AutoExpandingBuffer getBuf()
    • getLength

      public int getLength()
      Returns:
      length of the buffer, including any front reserve
    • reset

      public void reset()