private void testBBPool(int maxPoolSize, int bufferSize, boolean directByteBuffer) { ByteBufferPool pool = new ByteBufferPool(bufferSize, maxPoolSize, directByteBuffer); for (int i = 0; i < maxPoolSize; i++) { ByteBuffer buffer = pool.getBuffer(); assertEquals(0, buffer.position()); assertEquals(bufferSize, buffer.limit()); assertEquals(directByteBuffer, buffer.isDirect()); } assertEquals(0, pool.getQueueSize()); ByteBuffer bb = directByteBuffer ? ByteBuffer.allocate(bufferSize) : ByteBuffer.allocateDirect(bufferSize); pool.putbackBuffer(bb); assertEquals(0, pool.getQueueSize()); bb = directByteBuffer ? ByteBuffer.allocateDirect(bufferSize + 1) : ByteBuffer.allocate(bufferSize + 1); pool.putbackBuffer(bb); assertEquals(0, pool.getQueueSize()); } }
bbos.writeInt(123); bbos.writeInt(124); assertEquals(0, pool.getQueueSize()); List<ByteBuffer> allBufs = bbos.getByteBuffers(); assertEquals(4, allBufs.size()); assertEquals(124, b4.getInt()); bbos.releaseResources(); assertEquals(3, pool.getQueueSize());
buff = pair.getFirst(); assertTrue(buff.hasArray()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertNull(pair.getSecond()); buff = pair.getFirst(); assertFalse(buff.hasArray()); assertEquals(maxBuffersInPool - 1, pool.getQueueSize()); assertNotNull(pair.getSecond()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertEquals(6 * 1024, bbs[0].limit()); assertEquals(1024, bbs[1].limit()); assertEquals(maxBuffersInPool - 2, pool.getQueueSize()); assertNotNull(pair.getSecond()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertEquals(6 * 1024, bbs[0].limit()); assertEquals(200, bbs[1].limit()); assertEquals(maxBuffersInPool - 1, pool.getQueueSize()); assertNotNull(pair.getSecond()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertEquals(6 * 1024, bbs[0].limit()); assertEquals(14 * 1024, bbs[1].limit()); assertEquals(0, pool.getQueueSize());
private void testBBPool(int maxPoolSize, int bufferSize, boolean directByteBuffer) { ByteBufferPool pool = new ByteBufferPool(bufferSize, maxPoolSize, directByteBuffer); for (int i = 0; i < maxPoolSize; i++) { ByteBuffer buffer = pool.getBuffer(); assertEquals(0, buffer.position()); assertEquals(bufferSize, buffer.limit()); assertEquals(directByteBuffer, buffer.isDirect()); } assertEquals(0, pool.getQueueSize()); ByteBuffer bb = directByteBuffer ? ByteBuffer.allocate(bufferSize) : ByteBuffer.allocateDirect(bufferSize); pool.putbackBuffer(bb); assertEquals(0, pool.getQueueSize()); bb = directByteBuffer ? ByteBuffer.allocateDirect(bufferSize + 1) : ByteBuffer.allocate(bufferSize + 1); pool.putbackBuffer(bb); assertEquals(0, pool.getQueueSize()); } }
private void testBBPool(int maxPoolSize, int bufferSize, boolean directByteBuffer) { ByteBufferPool pool = new ByteBufferPool(bufferSize, maxPoolSize, directByteBuffer); for (int i = 0; i < maxPoolSize; i++) { ByteBuffer buffer = pool.getBuffer(); assertEquals(0, buffer.position()); assertEquals(bufferSize, buffer.limit()); assertEquals(directByteBuffer, buffer.isDirect()); } assertEquals(0, pool.getQueueSize()); ByteBuffer bb = directByteBuffer ? ByteBuffer.allocate(bufferSize) : ByteBuffer.allocateDirect(bufferSize); pool.putbackBuffer(bb); assertEquals(0, pool.getQueueSize()); bb = directByteBuffer ? ByteBuffer.allocateDirect(bufferSize + 1) : ByteBuffer.allocate(bufferSize + 1); pool.putbackBuffer(bb); assertEquals(0, pool.getQueueSize()); } }
bbos.writeInt(123); bbos.writeInt(124); assertEquals(0, pool.getQueueSize()); List<ByteBuffer> allBufs = bbos.getByteBuffers(); assertEquals(4, allBufs.size()); assertEquals(124, b4.getInt()); bbos.releaseResources(); assertEquals(3, pool.getQueueSize());
bbos.writeInt(123); bbos.writeInt(124); assertEquals(0, pool.getQueueSize()); List<ByteBuffer> allBufs = bbos.getByteBuffers(); assertEquals(4, allBufs.size()); assertEquals(124, b4.getInt()); bbos.releaseResources(); assertEquals(3, pool.getQueueSize());
buff = pair.getFirst(); assertTrue(buff.hasArray()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertNull(pair.getSecond()); buff = pair.getFirst(); assertFalse(buff.hasArray()); assertEquals(maxBuffersInPool - 1, pool.getQueueSize()); assertNotNull(pair.getSecond()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertEquals(6 * 1024, bbs[0].limit()); assertEquals(1024, bbs[1].limit()); assertEquals(maxBuffersInPool - 2, pool.getQueueSize()); assertNotNull(pair.getSecond()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertEquals(6 * 1024, bbs[0].limit()); assertEquals(200, bbs[1].limit()); assertEquals(maxBuffersInPool - 1, pool.getQueueSize()); assertNotNull(pair.getSecond()); assertEquals(maxBuffersInPool, pool.getQueueSize()); assertEquals(6 * 1024, bbs[0].limit()); assertEquals(14 * 1024, bbs[1].limit()); assertEquals(0, pool.getQueueSize());