org.xnio.Pool Maven / Gradle / Ivy
package org.xnio;
import java.nio.ByteBuffer;
/**
* A generic pooled resource manager.
*
* @param the resource type
*
* @apiviz.landmark
*
* @deprecated See {@link ByteBufferPool}.
*/
public interface Pool {
/**
* Allocate a resource from the pool.
*
* @return the resource
*/
Pooled allocate();
/**
* A compatibility pool which maps to {@link ByteBufferPool#MEDIUM_HEAP}.
*/
Pool HEAP = new Pool() {
public Pooled allocate() {
return Buffers.globalPooledWrapper(ByteBufferPool.MEDIUM_HEAP.allocate());
}
};
/**
* A compatibility pool which maps to {@link ByteBufferPool#MEDIUM_DIRECT}.
*/
Pool DIRECT = new Pool() {
public Pooled allocate() {
return Buffers.globalPooledWrapper(ByteBufferPool.MEDIUM_DIRECT.allocate());
}
};
}