package com.limegroup.gnutella.io; import java.nio.ByteBuffer; public class ByteBufferCache { private final DirectByteBufferCache DIRECT = new DirectByteBufferCache(); private final HeapByteBufferCache HEAP = new HeapByteBufferCache(); public ByteBuffer getDirect() { return DIRECT.get(); } public ByteBuffer getHeap() { return HEAP.get(); } public ByteBuffer getHeap(int size) { return HEAP.get(size); } public void release(ByteBuffer buffer) { if(buffer.isDirect()) DIRECT.put(buffer); else HEAP.put(buffer); } public void clearCache() { DIRECT.clear(); HEAP.clear(); } }