org.apache.thrift.transport
Class TFramedTransport

java.lang.Object
  extended by org.apache.thrift.transport.TTransport
      extended by org.apache.thrift.transport.TFramedTransport

public class TFramedTransport
extends TTransport

TFramedTransport is a buffered TTransport that ensures a fully read message every time by preceeding messages with a 4-byte frame size.


Nested Class Summary
static class TFramedTransport.Factory
           
 
Field Summary
protected static int DEFAULT_MAX_LENGTH
           
 
Constructor Summary
TFramedTransport(TTransport transport)
           
TFramedTransport(TTransport transport, int maxLength)
          Constructor wraps around another tranpsort
 
Method Summary
 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 att offset off.
 void write(byte[] buf, int off, int len)
          Writes up to len bytes from the buffer.
 
Methods inherited from class org.apache.thrift.transport.TTransport
peek, readAll, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_LENGTH

protected static final int DEFAULT_MAX_LENGTH
See Also:
Constant Field Values
Constructor Detail

TFramedTransport

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


TFramedTransport

public TFramedTransport(TTransport transport)
Method Detail

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 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 att 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:

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:

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:

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

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 final void encodeFrameSize(int frameSize,
                                         byte[] buf)

decodeFrameSize

public static final int decodeFrameSize(byte[] buf)