Class TMemoryBuffer

All Implemented Interfaces:
Closeable, AutoCloseable

public class TMemoryBuffer extends TEndpointTransport
Memory buffer-based implementation of the TTransport interface.
  • Constructor Details

    • TMemoryBuffer

      public TMemoryBuffer(int size) throws TTransportException
      Create a TMemoryBuffer with an initial buffer size of size. The internal buffer will grow as necessary to accommodate the size of the data being written to it.
      Parameters:
      size - the initial size of the buffer
      Throws:
      TTransportException - on error initializing the underlying transport.
    • TMemoryBuffer

      public TMemoryBuffer(TConfiguration config, int size) throws TTransportException
      Create a TMemoryBuffer with an initial buffer size of size. The internal buffer will grow as necessary to accommodate the size of the data being written to it.
      Parameters:
      config - the configuration to use.
      size - the initial size of the buffer
      Throws:
      TTransportException - on error initializing the underlying transport.
  • Method Details

    • 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()
      Description copied from class: TTransport
      Opens the transport for reading/writing.
      Specified by:
      open in class TTransport
    • 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
    • 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[] buf, int off, int len)
      Description copied from class: TTransport
      Writes up to len bytes from the buffer.
      Specified by:
      write in class TTransport
      Parameters:
      buf - The output data buffer
      off - The offset to start writing from
      len - The number of bytes to write
    • toString

      public String toString(Charset charset)
      Output the contents of the memory buffer as a String, using the supplied encoding
      Parameters:
      charset - the encoding to use
      Returns:
      the contents of the memory buffer as a String
    • inspect

      public String inspect()
    • length

      public int length()
    • getArray

      public byte[] getArray()