Table of Contents

Namespace Enderlook.Pools

Classes

ArrayObjectPool<T>

Represent a pool of arrays of a given length.

ExactLengthArrayPool<T>

Represent a pool of arrays of exact length.

FastObjectPool

Utility methods for FastObjectPool<T>.

FastObjectPool<T>

A lightweight, fast, dynamically-sized and thread-safe object pool to store objects.
The pool is designed for fast rent and return of elements, so during multithreading scenarios it may accidentally free unnecessary objects during return (however, this is not a fatal error for the pool).

ObjectPool

Utility methods for ObjectPool<T>.

ObjectPool<T>

Represent a pool of objects.

SafeExactLengthArrayObjectPool<T>

A fast, dynamically-sized and thread-safe array pool to store arrays of an specific length.

SafeExactLengthArrayPool<T>

A fast, dynamically-sized and thread-safe array pool to store arrays of specific lengths.

SafeObjectPool

Utility methods for SafeObjectPool<T>

SafeObjectPool<T>

A fast, dynamically-sized and thread-safe object pool to store objects.
This pool can be configured to automatically call IDisposable of elements that are free (for example during trimming, when pool is full or when the pool is disposed itself).

Structs

Lease<T>

Represent a pooled value.
When Dispose() is executed, the value is returned to the pool.