Class TFramedTransport

All Implemented Interfaces:
Closeable, AutoCloseable

public class TFramedTransport extends TLayeredTransport
TFramedTransport is a buffered TTransport that ensures a fully read message every time by preceding messages with a 4-byte frame size.
  • Constructor Details

  • Method Details

    • 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
    • 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.
    • 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
    • getBuffer

      public byte[] getBuffer()
      Description copied from class: TTransport
      Access the protocol's underlying buffer directly. If this is not a buffered transport, return null.
      Overrides:
      getBuffer in class TTransport
      Returns:
      protocol's Underlying buffer
    • getBufferPosition

      public int getBufferPosition()
      Description copied from class: TTransport
      Return the index within the underlying buffer that specifies the next spot that should be read from.
      Overrides:
      getBufferPosition in class TTransport
      Returns:
      index within the underlying buffer that specifies the next spot that should be read from
    • getBytesRemainingInBuffer

      public int getBytesRemainingInBuffer()
      Description copied from class: TTransport
      Get the number of bytes remaining in the underlying buffer. Returns -1 if this is a non-buffered transport.
      Overrides:
      getBytesRemainingInBuffer in class TTransport
      Returns:
      the number of bytes remaining in the underlying buffer.
      Returns -1 if this is a non-buffered transport.
    • consumeBuffer

      public void consumeBuffer(int len)
      Description copied from class: TTransport
      Consume len bytes from the underlying buffer.
      Overrides:
      consumeBuffer in class TTransport
      Parameters:
      len - the number of bytes to consume from the underlying buffer.
    • clear

      public void clear()
    • write

      public void write(byte[] buf, 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:
      buf - 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
    • flush

      public void flush() throws TTransportException
      Description copied from class: TTransport
      Flush any pending data out of a transport buffer.
      Overrides:
      flush in class TTransport
      Throws:
      TTransportException - if there was an error writing out data.
    • encodeFrameSize

      public static void encodeFrameSize(int frameSize, byte[] buf)
    • decodeFrameSize

      public static int decodeFrameSize(byte[] buf)