Package org.apache.thrift.transport
Class TMemoryBuffer
java.lang.Object
org.apache.thrift.transport.TTransport
org.apache.thrift.transport.TEndpointTransport
org.apache.thrift.transport.TMemoryBuffer
- All Implemented Interfaces:
Closeable
,AutoCloseable
Memory buffer-based implementation of the TTransport interface.
-
Field Summary
Fields inherited from class org.apache.thrift.transport.TEndpointTransport
knownMessageSize, remainingMessageSize
-
Constructor Summary
ConstructorDescriptionTMemoryBuffer
(int size) Create a TMemoryBuffer with an initial buffer size of size.TMemoryBuffer
(TConfiguration config, int size) Create a TMemoryBuffer with an initial buffer size of size. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes the transport.byte[]
getArray()
inspect()
boolean
isOpen()
Queries whether the transport is open.int
length()
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.Output the contents of the memory buffer as a String, using the supplied encodingvoid
write
(byte[] buf, int off, int len) Writes up to len bytes from the buffer.Methods inherited from class org.apache.thrift.transport.TEndpointTransport
checkReadBytesAvailable, countConsumedMessageBytes, getConfiguration, getMaxFrameSize, getMaxMessageSize, resetConsumedMessageSize, setMaxFrameSize, updateKnownMessageSize
Methods inherited from class org.apache.thrift.transport.TTransport
consumeBuffer, flush, getBuffer, getBufferPosition, getBytesRemainingInBuffer, peek, read, readAll, write, write
-
Constructor Details
-
TMemoryBuffer
Create a TMemoryBuffer with an initial buffer size of size. The internal buffer will grow as necessary to accommodate the size of the data being written to it.- Parameters:
size
- the initial size of the buffer- Throws:
TTransportException
- on error initializing the underlying transport.
-
TMemoryBuffer
Create a TMemoryBuffer with an initial buffer size of size. The internal buffer will grow as necessary to accommodate the size of the data being written to it.- Parameters:
config
- the configuration to use.size
- the initial size of the buffer- Throws:
TTransportException
- on error initializing the underlying transport.
-
-
Method Details
-
isOpen
public boolean isOpen()Description copied from class:TTransport
Queries whether the transport is open.- Specified by:
isOpen
in classTTransport
- Returns:
- True if the transport is open.
-
open
public void open()Description copied from class:TTransport
Opens the transport for reading/writing.- Specified by:
open
in classTTransport
-
close
public void close()Description copied from class:TTransport
Closes the transport.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classTTransport
-
read
Description copied from class:TTransport
Reads up to len bytes into buffer buf, starting at offset off.- Specified by:
read
in 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[] buf, int off, int len) Description copied from class:TTransport
Writes up to len bytes from the buffer.- Specified by:
write
in classTTransport
- Parameters:
buf
- The output data bufferoff
- The offset to start writing fromlen
- The number of bytes to write
-
toString
Output the contents of the memory buffer as a String, using the supplied encoding- Parameters:
charset
- the encoding to use- Returns:
- the contents of the memory buffer as a String
-
inspect
-
length
public int length() -
getArray
public byte[] getArray()
-