package com.limegroup.gnutella.io; import java.nio.ByteBuffer; import java.util.Stack; public class DirectByteBufferCache { private final Stack CACHE = new Stack(); public ByteBuffer get() { synchronized (CACHE) { if (CACHE.isEmpty()) { ByteBuffer buf = ByteBuffer.allocateDirect(8192); return buf; } else { return (ByteBuffer) CACHE.pop(); } } } public void put(ByteBuffer buf) { buf.clear(); CACHE.push(buf); } public void clear() { CACHE.clear(); } }