org.apache.mina.common
Class PooledByteBufferAllocator
java.lang.Object
org.apache.mina.common.PooledByteBufferAllocator
- ByteBufferAllocator
public class PooledByteBufferAllocator
extends java.lang.Object
A
ByteBufferAllocator
which pools allocated buffers.
All buffers are allocated with the size of power of
2 (e.g. 16, 32, 64, ...) This means that you cannot simply assume that the actual capacity of the buffer and the
capacity you requested are same.
This allocator releases the buffers which have not been in use for a
certain period. You can adjust the period by calling
setTimeout(int)
. The default timeout is 1 minute (60
seconds). To release these buffers periodically, a daemon thread is started when a new instance of the allocator is
created. You can stop the thread by calling
dispose()
.
ByteBuffer | allocate(int capacity, boolean direct)
|
void | dispose() - Stops the thread which releases unused buffers and make this allocator unusable from now on.
|
int | getTimeout() - Returns the timeout value of this allocator in seconds.
|
long | getTimeoutMillis() - Returns the timeout value of this allocator in milliseconds.
|
void | setTimeout(int timeout) - Sets the timeout value of this allocator in seconds.
|
ByteBuffer | wrap(java.nio.ByteBuffer nioBuffer)
|
PooledByteBufferAllocator
public PooledByteBufferAllocator()
Creates a new instance with the default timeout.
PooledByteBufferAllocator
public PooledByteBufferAllocator(int timeout)
Creates a new instance with the specified timeout.
dispose
public void dispose()
Stops the thread which releases unused buffers and make this allocator unusable from now on.
- dispose in interface ByteBufferAllocator
getTimeout
public int getTimeout()
Returns the timeout value of this allocator in seconds.
getTimeoutMillis
public long getTimeoutMillis()
Returns the timeout value of this allocator in milliseconds.
setTimeout
public void setTimeout(int timeout)
Sets the timeout value of this allocator in seconds.
timeout
- 0 or negative value to disable timeout.