Uses of Interface
stormpot.Poolable
Packages that use Poolable
-
Uses of Poolable in stormpot
Modifier and TypeInterfaceDescriptioninterfaceAn Allocator is responsible for the creation and destruction ofPoolableobjects.interfaceExpiration<T extends Poolable>The expiration is used to determine if a given slot has expired, or otherwise become invalid.interfaceA Pool is a self-renewable set of objects from which one can claim exclusive access to elements, until they are released back into the pool.interfacePoolBuilder<T extends Poolable>ThePoolBuildercollects information about how big a pool should be, and how it should allocate objects, and so on, and finally acts as the factory for building the pool instances themselves, with thePoolBuilder.build()method.interfaceA PoolTap provides the API for accessing objects in aPool.interfaceReallocator<T extends Poolable>interfaceAn informative interface, used byExpirationinstances to determine if a slot has expired or is still invalid for claiming.Modifier and TypeClassDescriptionclassA basic implementation of thePoolableinterface, which can be extended directly.classPooled<T>A reference to a pooled object.Modifier and TypeMethodDescriptionstatic <T extends Poolable>
Expiration<T> Construct a new Expiration that will invalidate objects that are older than the given lower bound, before they get older than the upper bound, in the given time unit.static <T extends Poolable>
Expiration<T> Construct a new Expiration that will invalidate objects that are older than the exact provided span of time in the given unit.static <T extends Poolable>
PoolBuilder<T> Get aPoolBuilderbased on the givenAllocatororReallocator, which can then in turn be used to build aPoolinstance with the desired configuration.static <T extends Poolable>
PoolBuilder<T> Pool.fromInline(Allocator<T> allocator) Get aPoolBuilderbased on the givenAllocatororReallocator, which can then in turn be used to build aPooloperating in the inline mode, with the desired configuration.static <T extends Poolable>
PoolBuilder<T> Pool.fromThreaded(Allocator<T> allocator) Get aPoolBuilderbased on the givenAllocatororReallocator, which can then in turn be used to build a threadedPoolinstance with the desired configuration.static <T extends Poolable>
Expiration<T> Expiration.never()Construct a new Expiration that never invalidates any objects.<X extends Poolable>
PoolBuilder<X> PoolBuilder.setAllocator(Allocator<X> allocator) Set theAllocatororReallocatorto use for the pools we want to configure. -
Uses of Poolable in stormpot.internal
Classes in stormpot.internal with type parameters of type PoolableModifier and TypeClassDescriptionclassAllocationController<T extends Poolable>An AllocationController implements the actual allocation and deallocation of objects in a pool.final classBAllocThread<T extends Poolable>The dedicated background allocation process of a pool that operates in theAllocationProcessMode.THREADEDmode.final classBlazePool is a highly optimisedPoolimplementation that consists of a queues of Poolable instances, the access to which is made faster with clever use of ThreadLocals.final classBlazePoolSingleThreadedTap<T extends Poolable>The claim method in this pool tap follows the same idea as the thread-local caching and TLR-claiming in the pool itself.final classBlazePoolThreadSafeTap<T extends Poolable>The claim method in this pool tap offers similar thread-safety and performance to the default thread-safe pool tap.final classBlazePoolVirtualThreadSafeTap<T extends Poolable>The claim method in this pool tap offers similar thread-safety and performance to the default thread-safe pool tap, but without the use ofThreadLocal.classclassBSlotCache<T extends Poolable>A reference to aBSlot.classBSlotCachePadded<T extends Poolable>A reference to aBSlot, with extra padding to keep the pointer on its own cache line.classBSlotPadded<T extends Poolable>ABSlottype with extra padding to ensure each slot is on their own CPU cache line.final classDirectAllocationController<T extends Poolable>TheAllocationControllerthat implements theAllocationProcessMode.DIRECTmode.final classEveryExpiration<T extends Poolable>The implementation of theExpiration.every(long, TimeUnit)andExpiration.every(long, long, TimeUnit)expiration combinators.final classInlineAllocationController<T extends Poolable>TheAllocationControllerimplementation for theAllocationProcessMode.INLINEmode.final classOrExpiration<T extends Poolable>Provides a way to composeExpirations.final classPoolBuilderImpl<T extends Poolable>ThePoolBuilderimplementation.classReallocatingAdaptor<T extends Poolable>An adaptor that implementsReallocatorin terms of a givenAllocator.final classRefillPile<T extends Poolable>ARefillPilecan collect objects, in a concurrent and wait-free manner, before releasing them all to a queue.final classRefillSlot<T extends Poolable>The node type ofRefillPile.final classThreadedAllocationController<T extends Poolable>TheAllocationControllerimplementation for theAllocationProcessMode.THREADEDmode.final classTimeExpiration<T extends Poolable>This is a time basedExpiration.final classTimeSpreadExpiration<T extends Poolable>This is the standard time basedExpiration.Fields in stormpot.internal declared as PoolableMethods in stormpot.internal with type parameters of type PoolableModifier and TypeMethodDescription<X extends Poolable>
PoolBuilder<X> PoolBuilderImpl.setAllocator(Allocator<X> allocator) Methods in stormpot.internal with parameters of type Poolable