下面列出了org.apache.http.nio.util.HeapByteBufferAllocator#INSTANCE 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test
public void createsItemSource() {
// given
SimpleInputBufferPooledObjectOps ops = new SimpleInputBufferPooledObjectOps(
HeapByteBufferAllocator.INSTANCE,
TEST_BUFFER_SIZE
);
// when
ItemSource result = ops.createItemSource(mock(ReleaseCallback.class));
// then
assertNotNull(result);
}
@Test
public void purgeDoesNotAffectItemSource() {
// given
SimpleInputBufferPooledObjectOps ops = new SimpleInputBufferPooledObjectOps(
HeapByteBufferAllocator.INSTANCE,
TEST_BUFFER_SIZE
);
ItemSource result = spy(ops.createItemSource(mock(ReleaseCallback.class)));
// when
ops.purge(result);
// then
verifyNoMoreInteractions(result);
}
@Test
public void resetDelegatesToUnderlyingItem() {
// given
SimpleInputBufferPooledObjectOps ops = new SimpleInputBufferPooledObjectOps(
HeapByteBufferAllocator.INSTANCE,
TEST_BUFFER_SIZE
);
ItemSource<SimpleInputBuffer> result = spy(ops.createItemSource(source -> {}));
SimpleInputBuffer simpleInputBuffer = mock(SimpleInputBuffer.class);
when(result.getSource()).thenReturn(simpleInputBuffer);
// when
ops.reset(result);
// then
verify(simpleInputBuffer).reset();
}
@Test
public void metricsSupplierReturnsNull() {
// given
SimpleInputBufferPooledObjectOps ops = new SimpleInputBufferPooledObjectOps(
HeapByteBufferAllocator.INSTANCE,
TEST_BUFFER_SIZE
);
Supplier<String> metricsSupplier = ops.createMetricsSupplier();
// when
String result = metricsSupplier.get();
// then
assertNull(result);
}
public static GenericItemSourcePool<SimpleInputBuffer> createDefaultTestGenericItemSourcePool(
int initialSize,
boolean monitored,
ResizePolicy resizePolicy
) {
SimpleInputBufferPooledObjectOps pooledObjectOps = new SimpleInputBufferPooledObjectOps(
HeapByteBufferAllocator.INSTANCE,
DEFAULT_TEST_ITEM_SIZE_IN_BYTES);
return new GenericItemSourcePool<>(
DEFAULT_TEST_ITEM_POOL_NAME,
pooledObjectOps,
resizePolicy,
DEFAULT_TEST_RESIZE_TIMEOUT,
monitored,
DEFAULT_TEST_MONITOR_TASK_INTERVAL,
initialSize
);
}
private GenericItemSourcePool<SimpleInputBuffer> createPool() {
GenericItemSourcePool<SimpleInputBuffer> bufferPool = new GenericItemSourcePool<>(
"hc-responseBufferPool",
new SimpleInputBufferPooledObjectOps(
HeapByteBufferAllocator.INSTANCE,
pooledResponseBuffersSizeInBytes
),
new UnlimitedResizePolicy.Builder().withResizeFactor(0.5).build(),
1000L,
false,
30000,
maxTotalConnections
);
return bufferPool;
}
public static SimpleInputBufferPooledObjectOps createDefaultTestObject() {
return new SimpleInputBufferPooledObjectOps(HeapByteBufferAllocator.INSTANCE, DEFAULT_TEST_ITEM_SIZE_IN_BYTES);
}