public class ByteBufferBsonOutput extends OutputBuffer
| Modifier and Type | Field and Description |
|---|---|
static int |
INITIAL_BUFFER_SIZE |
static int |
MAX_BUFFER_SIZE |
| Constructor and Description |
|---|
ByteBufferBsonOutput(BufferProvider bufferProvider)
Construct an instance that uses the given buffer provider to allocate byte buffers as needs as it grows.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
List<ByteBuf> |
getByteBuffers()
Get a list of byte buffers that are prepared to be read from; in other words, whose position is 0 and whose limit is the number of
bytes that should read.
|
int |
getPosition()
Gets the current position in the stream.
|
int |
getSize()
Gets the current size of the stream in number of bytes.
|
int |
pipe(OutputStream out)
Pipe the contents of this output buffer into the given output stream
|
void |
truncateToPosition(int newPosition)
Truncates this stream to the new position.
|
protected void |
write(int absolutePosition,
int value)
Write the specified byte at the specified position.
|
void |
writeByte(int value)
Write a single byte to the stream.
|
void |
writeBytes(byte[] bytes,
int offset,
int length)
Writes
length bytes from the byte array, starting at offset. |
size, toByteArray, toString, write, write, write, writeBytes, writeCString, writeDouble, writeInt, writeInt32, writeInt32, writeInt64, writeLong, writeObjectId, writeStringflushpublic static final int INITIAL_BUFFER_SIZE
public static final int MAX_BUFFER_SIZE
public ByteBufferBsonOutput(BufferProvider bufferProvider)
bufferProvider - the non-null buffer providerpublic void writeBytes(byte[] bytes,
int offset,
int length)
BsonOutputlength bytes from the byte array, starting at offset.bytes - the non-null byte arrayoffset - the offset to start writing fromlength - the number of bytes to writepublic void writeByte(int value)
BsonOutputvalue - the valuepublic int getPosition()
BsonOutputpublic int getSize()
BsonOutputprotected void write(int absolutePosition,
int value)
OutputBufferwrite in class OutputBufferabsolutePosition - the position, which must be greater than equal to 0 and at least 4 less than the stream sizevalue - the value to write. The 24 high-order bits of the value are ignored.public List<ByteBuf> getByteBuffers()
OutputBufferNote that the byte buffers may be read-only.
getByteBuffers in class OutputBufferpublic int pipe(OutputStream out) throws IOException
OutputBufferpipe in class OutputBufferout - the stream to pipe toIOException - if the stream throws an exceptionpublic void truncateToPosition(int newPosition)
BsonOutputtruncateToPosition in interface BsonOutputtruncateToPosition in class OutputBuffernewPosition - the new position, which must be greater than or equal to 0 and less than the current size.public void close()
close in interface Closeableclose in interface AutoCloseableclose in interface BsonOutputclose in class OutputBuffer