Class TFramedTransport


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

      Fields 
      Modifier and Type Field Description
      protected static int DEFAULT_MAX_LENGTH  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Closes the transport.
      void consumeBuffer​(int len)
      Consume len bytes from the underlying buffer.
      static int decodeFrameSize​(byte[] buf)  
      static void encodeFrameSize​(int frameSize, byte[] buf)  
      void flush()
      Flush any pending data out of a transport buffer.
      byte[] getBuffer()
      Access the protocol's underlying buffer directly.
      int getBufferPosition()
      Return the index within the underlying buffer that specifies the next spot that should be read from.
      int getBytesRemainingInBuffer()
      Get the number of bytes remaining in the underlying buffer.
      boolean isOpen()
      Queries whether the transport is open.
      void open()
      Opens the transport for reading/writing.
      int read​(byte[] buf, int off, int len)
      Reads up to len bytes into buffer buf, starting at offset off.
      void write​(byte[] buf, int off, int len)
      Writes up to len bytes from the buffer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TFramedTransport

        public TFramedTransport​(TTransport transport,
                                int maxLength)
        Constructor wraps around another transport
      • TFramedTransport

        public TFramedTransport​(TTransport transport)
    • Method Detail

      • 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 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
      • 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
      • encodeFrameSize

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

        public static final int decodeFrameSize​(byte[] buf)