AbstractSocketManager
, DatagramSocketManager
, FileManager
, MemoryMappedFileManager
, OutputStreamManager
, RandomAccessFileManager
, RollingFileManager
, RollingRandomAccessFileManager
, SslSocketManager
, TcpSocketManager
public interface ByteBufferDestination
Encoder
s write binary data to. It encapsulates a
ByteBuffer
and a drain()
method the producer can call when the ByteBuffer
is full.
This interface allows a producer to write arbitrary amounts of data to a destination.
Modifier and Type | Method | Description |
---|---|---|
ByteBuffer |
drain(ByteBuffer buf) |
Consumes the buffer content and returns a buffer with more available space
(which may or may not be the same instance).
|
ByteBuffer |
getByteBuffer() |
Returns the buffer to write to.
|
void |
writeBytes(byte[] data,
int offset,
int length) |
Writes the given data to this ByteBufferDestination.
|
void |
writeBytes(ByteBuffer data) |
Writes the given data to this ByteBufferDestination entirely.
|
ByteBuffer getByteBuffer()
ByteBuffer drain(ByteBuffer buf)
Called by the producer when buffer becomes too full to write to.
buf
- the buffer to drainvoid writeBytes(ByteBuffer data)
void writeBytes(byte[] data, int offset, int length)
This method should behave identically to writeBytes(ByteBuffer.wrap(data, offset, length)
.
It is provided to allow callers not to generate extra garbage.
This method is called writeBytes() to avoid clashing with OutputStreamManager.write(byte[], int, int)
,
which might be overridden in user-defined subclasses as protected, hence adding it to interface and requiring
the method to be public breaks source compatibility.
Copyright © 1999-2018. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.