Provides a generic pooling mechanism using the Disposable pattern.
More...
|
| 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.
|
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.- Returns
|
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.- Parameters
-
- Returns
|
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.
|
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.- Parameters
-
|
void | Dispose () |
| Disposes of this pool and all items in the pool.
|
|
int | MaxItems [get] |
| The maximum number of items to hold in the pool.
|
int | Count [get] |
| How many items are currently in the pool.
|
Provides a generic pooling mechanism using the Disposable pattern.
- Template Parameters
-
◆ Borrow() [1/2]
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.
- Returns
Implements PeanutButter.Utils.IPool< T >.
◆ Borrow() [2/2]
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.
- Parameters
-
- Returns
Implements PeanutButter.Utils.IPool< T >.
◆ Dispose()
void PeanutButter.Utils.Pool< T >.Dispose |
( |
| ) |
|
◆ Forget()
void PeanutButter.Utils.Pool< T >.Forget |
( |
IPoolItem< T > | item | ) |
|
◆ Pool() [1/4]
PeanutButter.Utils.Pool< T >.Pool |
( |
Func< T > | factory | ) |
|
Creates the pool with a factory for the items.
- Parameters
-
- Exceptions
-
◆ Pool() [2/4]
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.
- Parameters
-
◆ Pool() [3/4]
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.
- Parameters
-
factory | |
maxItems | |
onRelease | |
◆ Pool() [4/4]
PeanutButter.Utils.Pool< T >.Pool |
( |
Func< T > | factory, |
|
|
int | maxItems ) |
Creates the pool with a factory for the items.
- Parameters
-
- Exceptions
-
◆ Take() [1/2]
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.
- Returns
Implements PeanutButter.Utils.IPool< T >.
◆ Take() [2/2]
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.
- Parameters
-
- Returns
Implements PeanutButter.Utils.IPool< T >.
◆ Count
int PeanutButter.Utils.Pool< T >.Count |
|
get |
◆ MaxItems
int PeanutButter.Utils.Pool< T >.MaxItems |
|
get |
The documentation for this class was generated from the following file:
- source/Utils/PeanutButter.Utils/Pool.cs