| Modifier and Type | Field and Description |
|---|---|
| pack-priv final MetricsRecorder |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public T | allocate(Slot
The slot the pool wish to allocate an object for.
Implementers do not need to concern themselves with the details of a
pools slot objects. They just have to call release on them as the
protocol demands. slot)Overrides stormpot. Implements stormpot. |
| public void | deallocate(T
The non-null Poolable instance to be deallocated. poolable)Overrides stormpot. Implements stormpot. |
| metricsRecorder | back to summary |
|---|---|
| pack-priv final MetricsRecorder metricsRecorder | |
| TimingReallocatingAdaptor | back to summary |
|---|---|
| pack-priv TimingReallocatingAdaptor(Allocator<T> allocator, MetricsRecorder metricsRecorder) | |
| allocate | back to summary |
|---|---|
| public T allocate(Slot slot) throws Exception Overrides stormpot. Implements stormpot. Doc from stormpot. Create a fresh new instance of T for the given slot.
The returned
| |
| deallocate | back to summary |
|---|---|
| public void deallocate(T poolable) throws Exception Overrides stormpot. Implements stormpot. Doc from stormpot. Deallocate, if applicable, the given Poolable and free any resources
associated with it.
This is an opportunity to close any connections or files, flush buffers,
empty caches or what ever might need to be done to completely free any
resources represented by this Poolable.
Note that a Poolable must never touch its slot object after it has been
deallocated.
Pools, on the other hand, will guarantee that the same object is never
deallocated more than once.
Note that pools will always silently swallow exceptions thrown by the
deallocate method. They do this because there is no knowing whether the
deallocation of an object will be done synchronously by a thread calling
| |