|
PeanutButter
|
Provides a generic pooling mechanism using the Disposable pattern. More...
Public Member Functions | |||
| Pool (Func< T > factory) | |||
| Creates the pool with a factory for the items. | |||
| Pool (Func< T > factory, int maxItems) | |||
| Creates the pool with a factory for the items. | |||
| Pool (Func< T > factory, Action< T > onRelease) | |||
| Creates the pool with the provided factory and an action to run on releasing the item. | |||
| Pool (Func< T > factory, Action< T > onRelease, int maxItems) | |||
| Creates the pool with the provided factory and an action to run on releasing the item. | |||
| Pool (Func< IPool< T >, T > factory) | |||
| Creates the pool with a factory for the items. | |||
| Pool (Func< IPool< T >, T > factory, int maxItems) | |||
| Creates the pool with a factory for the items. | |||
| Pool (Func< IPool< T >, T > factory, Action< T > onRelease) | |||
| Creates the pool with the provided factory and an action to run on releasing the item. | |||
| Pool (Func< IPool< T >, T > factory, Action< T > onRelease, int maxItems) | |||
| Creates the pool with the provided factory and an action to run on releasing the item. | |||
| IPoolItem< T > | Take () | ||
Attempt to take an item from the pool. If possible and required, an item will be created for you. If the pool is full and no item can be made available, this will a pool item with a null instance.
| |||
| IPoolItem< T > | Take (int maxWaitMilliseconds) | ||
Attempt to take an item from the pool, with a max wait in ms when the pool is already full and you need to wait on something else to release an instance. If no instance can be found in time, then this will return a PoolItem with a default instance.
| |||
| IPoolItem< T > | Borrow () | ||
| Attempt to take an item from the pool. If possible and required, an item will be created for you. If the pool is full and no item can be made available, this will a pool item with a null instance. | |||
| void | Warmup () | ||
| Causes an initial temporary elasticsearch instance to be started, and gates the next request for an instance. | |||
| IPoolItem< T > | Borrow (int maxWaitMilliseconds) | ||
| Attempt to take an item from the pool, with a max wait in ms when the pool is already full and you need to wait on something else to release an instance. If no instance can be found in time, then this will return a PoolItem with a default instance. | |||
| void | Forget (IPoolItem< T > item) | ||
Forget the item from the pool.
| |||
| void | Dispose () | ||
| Disposes of this pool and all items in the pool. | |||
Properties | |
| int | MaxItems [get] |
| The maximum number of items to hold in the pool. | |
| int | Count [get] |
| How many items are currently in the pool. | |
| bool | WarmupStarted [get] |
| Set when warmup starts. | |
| bool | WarmedUp [get, set] |
| Set when warmup completes. | |
Provides a generic pooling mechanism using the Disposable pattern.
| T |
| IPoolItem< T > PeanutButter.Utils.Pool< T >.Borrow | ( | ) |
Attempt to take an item from the pool. If possible and required, an item will be created for you. If the pool is full and no item can be made available, this will a pool item with a null instance.
Implements PeanutButter.Utils.IPool< T >.
| IPoolItem< T > PeanutButter.Utils.Pool< T >.Borrow | ( | int | maxWaitMilliseconds | ) |
Attempt to take an item from the pool, with a max wait in ms when the pool is already full and you need to wait on something else to release an instance. If no instance can be found in time, then this will return a PoolItem with a default instance.
| maxWaitMilliseconds |
Implements PeanutButter.Utils.IPool< T >.
| void PeanutButter.Utils.Pool< T >.Dispose | ( | ) |
Disposes of this pool and all items in the pool.
Implements PeanutButter.Utils.IPool< T >.
| void PeanutButter.Utils.Pool< T >.Forget | ( | IPoolItem< T > | item | ) |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< IPool< T >, T > | factory | ) |
Creates the pool with a factory for the items.
| factory |
| NotImplementedException |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< IPool< T >, T > | factory, |
| Action< T > | onRelease ) |
Creates the pool with the provided factory and an action to run on releasing the item.
| factory | |
| onRelease |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< IPool< T >, T > | factory, |
| Action< T > | onRelease, | ||
| int | maxItems ) |
Creates the pool with the provided factory and an action to run on releasing the item.
| factory | |
| maxItems | |
| onRelease |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< IPool< T >, T > | factory, |
| int | maxItems ) |
Creates the pool with a factory for the items.
| factory | |
| maxItems |
| NotImplementedException |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< T > | factory | ) |
Creates the pool with a factory for the items.
| factory |
| NotImplementedException |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< T > | factory, |
| Action< T > | onRelease ) |
Creates the pool with the provided factory and an action to run on releasing the item.
| factory | |
| onRelease |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< T > | factory, |
| Action< T > | onRelease, | ||
| int | maxItems ) |
Creates the pool with the provided factory and an action to run on releasing the item.
| factory | |
| maxItems | |
| onRelease |
| PeanutButter.Utils.Pool< T >.Pool | ( | Func< T > | factory, |
| int | maxItems ) |
Creates the pool with a factory for the items.
| factory | |
| maxItems |
| NotImplementedException |
| IPoolItem< T > PeanutButter.Utils.Pool< T >.Take | ( | ) |
Attempt to take an item from the pool. If possible and required, an item will be created for you. If the pool is full and no item can be made available, this will a pool item with a null instance.
Implements PeanutButter.Utils.IPool< T >.
| IPoolItem< T > PeanutButter.Utils.Pool< T >.Take | ( | int | maxWaitMilliseconds | ) |
Attempt to take an item from the pool, with a max wait in ms when the pool is already full and you need to wait on something else to release an instance. If no instance can be found in time, then this will return a PoolItem with a default instance.
| maxWaitMilliseconds |
Implements PeanutButter.Utils.IPool< T >.
| void PeanutButter.Utils.Pool< T >.Warmup | ( | ) |
Causes an initial temporary elasticsearch instance to be started, and gates the next request for an instance.
Implements PeanutButter.Utils.IPool< T >.
|
get |
How many items are currently in the pool.
Implements PeanutButter.Utils.IPool< T >.
|
get |
The maximum number of items to hold in the pool.
Implements PeanutButter.Utils.IPool< T >.
|
getset |
Set when warmup completes.
|
get |
Set when warmup starts.