List of usage examples for io.netty.buffer PooledByteBufAllocator defaultSmallCacheSize
public static int defaultSmallCacheSize()
From source file:org.apache.bookkeeper.common.allocator.impl.ByteBufAllocatorImpl.java
License:Apache License
ByteBufAllocatorImpl(ByteBufAllocator pooledAllocator, ByteBufAllocator unpooledAllocator,
PoolingPolicy poolingPolicy, int poolingConcurrency, OutOfMemoryPolicy outOfMemoryPolicy,
Consumer<OutOfMemoryError> outOfMemoryListener, LeakDetectionPolicy leakDetectionPolicy) {
super(poolingPolicy == PoolingPolicy.PooledDirect /* preferDirect */);
this.poolingPolicy = poolingPolicy;
this.outOfMemoryPolicy = outOfMemoryPolicy;
if (outOfMemoryListener == null) {
this.outOfMemoryListener = (v) -> {
log.error("Unable to allocate memory", v);
};/* w w w.j av a2 s . co m*/
} else {
this.outOfMemoryListener = outOfMemoryListener;
}
if (poolingPolicy == PoolingPolicy.PooledDirect) {
if (pooledAllocator == null) {
if (poolingConcurrency == PooledByteBufAllocator.defaultNumDirectArena()) {
// If all the parameters are the same as in the default Netty pool,
// just reuse the static instance as the underlying allocator.
this.pooledAllocator = PooledByteBufAllocator.DEFAULT;
} else {
this.pooledAllocator = new PooledByteBufAllocator(true /* preferDirect */,
poolingConcurrency /* nHeapArena */, poolingConcurrency /* nDirectArena */,
PooledByteBufAllocator.defaultPageSize(), PooledByteBufAllocator.defaultMaxOrder(),
PooledByteBufAllocator.defaultTinyCacheSize(),
PooledByteBufAllocator.defaultSmallCacheSize(),
PooledByteBufAllocator.defaultNormalCacheSize(),
PooledByteBufAllocator.defaultUseCacheForAllThreads());
}
} else {
this.pooledAllocator = pooledAllocator;
}
} else {
this.pooledAllocator = null;
}
this.unpooledAllocator = (unpooledAllocator != null) ? unpooledAllocator : UnpooledByteBufAllocator.DEFAULT;
// The setting is static in Netty, so it will actually affect all
// allocators
switch (leakDetectionPolicy) {
case Disabled:
if (log.isDebugEnabled()) {
log.debug("Disable Netty allocator leak detector");
}
ResourceLeakDetector.setLevel(Level.DISABLED);
break;
case Simple:
log.info("Setting Netty allocator leak detector to Simple");
ResourceLeakDetector.setLevel(Level.SIMPLE);
break;
case Advanced:
log.info("Setting Netty allocator leak detector to Advanced");
ResourceLeakDetector.setLevel(Level.ADVANCED);
break;
case Paranoid:
log.info("Setting Netty allocator leak detector to Paranoid");
ResourceLeakDetector.setLevel(Level.PARANOID);
break;
}
}