+
+ public static class Tagged extends MappedByteBufferPool
+ {
+ private final AtomicInteger tag = new AtomicInteger();
+
+ @Override
+ protected ByteBuffer newByteBuffer(int capacity, boolean direct)
+ {
+ ByteBuffer buffer = super.newByteBuffer(capacity + 4, direct);
+ buffer.limit(buffer.capacity());
+ buffer.putInt(tag.incrementAndGet());
+ ByteBuffer slice = buffer.slice();
+ BufferUtil.clear(slice);
+ return slice;
+ }
+ }