|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.thrift.transport.TTransport
org.apache.thrift.transport.TFastFramedTransport
public class TFastFramedTransport
This transport is wire compatible with TFramedTransport, but makes
use of reusable, expanding read and write buffers in order to avoid
allocating new byte[]s all the time. Since the buffers only expand, you
should probably only use this transport if your messages are not too variably
large, unless the persistent memory cost is not an issue.
This implementation is NOT threadsafe.
| Nested Class Summary | |
|---|---|
static class |
TFastFramedTransport.Factory
|
| Field Summary | |
|---|---|
static int |
DEFAULT_BUF_CAPACITY
How big should the default read and write buffers be? |
static int |
DEFAULT_MAX_LENGTH
How big is the largest allowable frame? Defaults to Integer.MAX_VALUE. |
| Constructor Summary | |
|---|---|
TFastFramedTransport(TTransport underlying)
Create a new TFastFramedTransport. |
|
TFastFramedTransport(TTransport underlying,
int initialBufferCapacity)
Create a new TFastFramedTransport. |
|
TFastFramedTransport(TTransport underlying,
int initialBufferCapacity,
int maxLength)
|
|
| Method Summary | |
|---|---|
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. |
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 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 |
|---|
public static final int DEFAULT_BUF_CAPACITY
public static final int DEFAULT_MAX_LENGTH
| Constructor Detail |
|---|
public TFastFramedTransport(TTransport underlying)
TFastFramedTransport. Use the defaults
for initial buffer size and max frame length.
underlying - Transport that real reads and writes will go through to.
public TFastFramedTransport(TTransport underlying,
int initialBufferCapacity)
TFastFramedTransport. Use the specified
initial buffer capacity and the default max frame length.
underlying - Transport that real reads and writes will go through to.initialBufferCapacity - The initial size of the read and write buffers.
In practice, it's not critical to set this unless you know in advance that
your messages are going to be very large.
public TFastFramedTransport(TTransport underlying,
int initialBufferCapacity,
int maxLength)
underlying - Transport that real reads and writes will go through to.initialBufferCapacity - The initial size of the read and write buffers.
In practice, it's not critical to set this unless you know in advance that
your messages are going to be very large. (You can pass
TFramedTransportWithReusableBuffer.DEFAULT_BUF_CAPACITY if you're only
using this constructor because you want to set the maxLength.)maxLength - The max frame size you are willing to read. You can use
this parameter to limit how much memory can be allocated.| Method Detail |
|---|
public void close()
TTransport
close in class TTransportpublic boolean isOpen()
TTransport
isOpen in class TTransport
public void open()
throws TTransportException
TTransport
open in class TTransportTTransportException - if the transport could not be opened
public int read(byte[] buf,
int off,
int len)
throws TTransportException
TTransport
read in class TTransportbuf - Array to read intooff - Index to start reading atlen - Maximum number of bytes to read
TTransportException - if there was an error reading data
public void write(byte[] buf,
int off,
int len)
throws TTransportException
TTransport
write in class TTransportbuf - The output data bufferoff - The offset to start writing fromlen - The number of bytes to write
TTransportException - if there was an error writing datapublic void consumeBuffer(int len)
TTransport
consumeBuffer in class TTransport
public void flush()
throws TTransportException
TTransport
flush in class TTransportTTransportException - if there was an error writing out data.public byte[] getBuffer()
TTransport
getBuffer in class TTransportpublic int getBufferPosition()
TTransport
getBufferPosition in class TTransportpublic int getBytesRemainingInBuffer()
TTransport
getBytesRemainingInBuffer in class TTransport
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||