Class AdaptivePoolingAllocator.Magazine
java.lang.Object
io.netty.buffer.AdaptivePoolingAllocator.Magazine
- Enclosing class:
AdaptivePoolingAllocator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StampedLockprivate final Queue<AdaptivePoolingAllocator.AdaptiveByteBuf> private final AdaptivePoolingAllocator.ChunkControllerprivate AdaptivePoolingAllocator.Chunkprivate static final ObjectPool<AdaptivePoolingAllocator.AdaptiveByteBuf> private final AdaptivePoolingAllocator.MagazineGroupprivate final ObjectPool.Handle<AdaptivePoolingAllocator.AdaptiveByteBuf> private static final AdaptivePoolingAllocator.Chunkprivate static final AtomicReferenceFieldUpdater<AdaptivePoolingAllocator.Magazine, AdaptivePoolingAllocator.Chunk> private AdaptivePoolingAllocator.Chunkprivate final Queue<AdaptivePoolingAllocator.Chunk> -
Constructor Summary
ConstructorsConstructorDescriptionMagazine(AdaptivePoolingAllocator.MagazineGroup group, boolean shareable, Queue<AdaptivePoolingAllocator.Chunk> sharedChunkQueue, AdaptivePoolingAllocator.ChunkController chunkController) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanallocate(int size, int maxCapacity, AdaptivePoolingAllocator.AdaptiveByteBuf buf, boolean reallocate) private booleanallocateWithoutLock(int size, int maxCapacity, AdaptivePoolingAllocator.AdaptiveByteBuf buf) (package private) voidfree()void(package private) booleanprivate voidprivate voidbooleantryAllocate(int size, int maxCapacity, AdaptivePoolingAllocator.AdaptiveByteBuf buf, boolean reallocate) (package private) boolean
-
Field Details
-
NEXT_IN_LINE
private static final AtomicReferenceFieldUpdater<AdaptivePoolingAllocator.Magazine, AdaptivePoolingAllocator.Chunk> NEXT_IN_LINE -
MAGAZINE_FREED
-
EVENT_LOOP_LOCAL_BUFFER_POOL
private static final ObjectPool<AdaptivePoolingAllocator.AdaptiveByteBuf> EVENT_LOOP_LOCAL_BUFFER_POOL -
current
-
nextInLine
-
group
-
chunkController
-
allocationLock
-
bufferQueue
-
handle
-
-
Constructor Details
-
Magazine
Magazine(AdaptivePoolingAllocator.MagazineGroup group, boolean shareable, Queue<AdaptivePoolingAllocator.Chunk> sharedChunkQueue, AdaptivePoolingAllocator.ChunkController chunkController)
-
-
Method Details
-
tryAllocate
public boolean tryAllocate(int size, int maxCapacity, AdaptivePoolingAllocator.AdaptiveByteBuf buf, boolean reallocate) -
allocateWithoutLock
private boolean allocateWithoutLock(int size, int maxCapacity, AdaptivePoolingAllocator.AdaptiveByteBuf buf) -
allocate
private boolean allocate(int size, int maxCapacity, AdaptivePoolingAllocator.AdaptiveByteBuf buf, boolean reallocate) -
restoreMagazineFreed
private void restoreMagazineFreed() -
transferToNextInLineOrRelease
-
trySetNextInLine
-
free
void free() -
newBuffer
-
offerToQueue
-