org.apache.thrift.transport

## Class TTransport

- java.lang.Object
- - org.apache.thrift.transport.TTransport

- Direct Known Subclasses:
    AutoExpandingBufferReadTransport, AutoExpandingBufferWriteTransport, TFastFramedTransport, TFileTransport, TFramedTransport, THttpClient, TIOStreamTransport, TMemoryBuffer, TMemoryInputTransport, TNonblockingTransport, TSaslClientTransport, TSaslServerTransport

      public abstract class TTransport
      extends java.lang.Object

  Generic class that encapsulates the I/O layer. This is basically a thin wrapper around the combined functionality of Java input/output streams.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TTransport()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `close()` Closes the transport.
    `void` | `consumeBuffer(int len)` Consume len bytes from the underlying buffer.
    `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.
    `abstract boolean` | `isOpen()` Queries whether the transport is open.
    `abstract void` | `open()` Opens the transport for reading/writing.
    `boolean` | `peek()` Is there more data to be read?
    `abstract int` | `read(byte[] buf, int off, int len)` Reads up to len bytes into buffer buf, starting at offset off.
    `int` | `readAll(byte[] buf, int off, int len)` Guarantees that all of len bytes are actually read off the transport.
    `void` | `write(byte[] buf)` Writes the buffer to the output
    `abstract 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

    - #### TTransport

          public TTransport()

  - ### Method Detail

    - #### isOpen

          public abstract boolean isOpen()

      Queries whether the transport is open.
      Returns:
        True if the transport is open.

    - #### peek

          public boolean peek()

      Is there more data to be read?
      Returns:
        True if the remote side is still alive and feeding us

    - #### open

          public abstract void open()
                             throws TTransportException

      Opens the transport for reading/writing.
      Throws:
        `TTransportException` - if the transport could not be opened

    - #### close

          public abstract void close()

      Closes the transport.

    - #### read

          public abstract int read(byte[] buf,
                 int off,
                 int len)
                            throws TTransportException

      Reads up to len bytes into buffer buf, starting at offset off.
      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

    - #### readAll

          public int readAll(byte[] buf,
                    int off,
                    int len)
                      throws TTransportException

      Guarantees that all of len bytes are actually read off the transport.
      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, which must be equal to len
      Throws:
        `TTransportException` - if there was an error reading data

    - #### write

          public void write(byte[] buf)
                     throws TTransportException

      Writes the buffer to the output
      Parameters:
        `buf` - The output data buffer
      Throws:
        `TTransportException` - if an error occurs writing data

    - #### write

          public abstract void write(byte[] buf,
                   int off,
                   int len)
                              throws TTransportException

      Writes up to len bytes from the buffer.
      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

      Flush any pending data out of a transport buffer.
      Throws:
        `TTransportException` - if there was an error writing out data.

    - #### getBuffer

          public byte[] getBuffer()

      Access the protocol's underlying buffer directly. If this is not a buffered transport, return null.
      Returns:

    - #### getBufferPosition

          public int getBufferPosition()

      Return the index within the underlying buffer that specifies the next spot that should be read from.
      Returns:

    - #### getBytesRemainingInBuffer

          public int getBytesRemainingInBuffer()

      Get the number of bytes remaining in the underlying buffer. Returns -1 if this is a non-buffered transport.
      Returns:

    - #### consumeBuffer

          public void consumeBuffer(int len)

      Consume len bytes from the underlying buffer.
      Parameters:
        `len` -