org.apache.thrift.transport
Class TTransport

java.lang.Object
  extended by org.apache.thrift.transport.TTransport
Direct Known Subclasses:
TFramedTransport, THttpClient, TIOStreamTransport, TMemoryBuffer, TMemoryInputTransport, TNonblockingTransport

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
TTransport()
           
 
Method Summary
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 att 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 att 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 -