Package org.apache.thrift.transport
Class AutoExpandingBufferWriteTransport
- java.lang.Object
-
- org.apache.thrift.transport.TTransport
-
- org.apache.thrift.transport.TEndpointTransport
-
- org.apache.thrift.transport.AutoExpandingBufferWriteTransport
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class AutoExpandingBufferWriteTransport extends TEndpointTransport
TTransport for writing to an AutoExpandingBuffer.
-
-
Field Summary
-
Fields inherited from class org.apache.thrift.transport.TEndpointTransport
knownMessageSize, remainingMessageSize
-
-
Constructor Summary
Constructors Constructor Description AutoExpandingBufferWriteTransport(TConfiguration config, int initialCapacity, int frontReserve)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the transport.AutoExpandingBuffergetBuf()intgetLength()booleanisOpen()Queries whether the transport is open.voidopen()Opens the transport for reading/writing.intread(byte[] buf, int off, int len)Reads up to len bytes into buffer buf, starting at offset off.voidreset()voidwrite(byte[] toWrite, int off, int len)Writes up to len bytes from the buffer.-
Methods inherited from class org.apache.thrift.transport.TEndpointTransport
checkReadBytesAvailable, countConsumedMessageBytes, getConfiguration, getMaxMessageSize, resetConsumedMessageSize, updateKnownMessageSize
-
Methods inherited from class org.apache.thrift.transport.TTransport
consumeBuffer, flush, getBuffer, getBufferPosition, getBytesRemainingInBuffer, peek, read, readAll, write, write
-
-
-
-
Constructor Detail
-
AutoExpandingBufferWriteTransport
public AutoExpandingBufferWriteTransport(TConfiguration config, int initialCapacity, int frontReserve) throws TTransportException
Constructor.- Parameters:
initialCapacity- the initial capacity of the bufferfrontReserve- space, if any, to reserve at the beginning such that the first write is after this reserve. This allows framed transport to reserve space for the frame buffer length.- Throws:
java.lang.IllegalArgumentException- if initialCapacity is less than onejava.lang.IllegalArgumentException- if frontReserve is less than zerojava.lang.IllegalArgumentException- if frontReserve is greater than initialCapacityTTransportException
-
-
Method Detail
-
close
public void close()
Description copied from class:TTransportCloses the transport.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classTTransport
-
isOpen
public boolean isOpen()
Description copied from class:TTransportQueries whether the transport is open.- Specified by:
isOpenin classTTransport- Returns:
- True if the transport is open.
-
open
public void open() throws TTransportExceptionDescription copied from class:TTransportOpens the transport for reading/writing.- Specified by:
openin classTTransport- Throws:
TTransportException- if the transport could not be opened
-
read
public int read(byte[] buf, int off, int len) throws TTransportExceptionDescription copied from class:TTransportReads up to len bytes into buffer buf, starting at offset off.- Specified by:
readin classTTransport- Parameters:
buf- Array to read intooff- Index to start reading atlen- Maximum number of bytes to read- Returns:
- The number of bytes actually read
- Throws:
TTransportException- if there was an error reading data
-
write
public void write(byte[] toWrite, int off, int len) throws TTransportExceptionDescription copied from class:TTransportWrites up to len bytes from the buffer.- Specified by:
writein classTTransport- Parameters:
toWrite- The output data bufferoff- The offset to start writing fromlen- The number of bytes to write- Throws:
TTransportException- if there was an error writing data
-
getBuf
public AutoExpandingBuffer getBuf()
-
getLength
public int getLength()
- Returns:
- length of the buffer, including any front reserve
-
reset
public void reset()
-
-