Click or drag to resize

GenericObjectPoolT Class

[This is preliminary documentation and is subject to change.]

A generic implementation of an object pool, that allows for recycling and reuse of objects of type T.
Inheritance Hierarchy
SystemObject
  Umbrace.Unity.PurePoolGenericObjectPoolT

Namespace:  Umbrace.Unity.PurePool
Assembly:  Umbrace.Unity.PurePool (in Umbrace.Unity.PurePool.dll) Version: 0.0.0.0 (1.0.0.0)
Syntax
C#
public class GenericObjectPool<T> : IObjectPool<T>, 
	IObjectPool

Type Parameters

T
The type of object being pooled.

The GenericObjectPoolT type exposes the following members.

Constructors
  NameDescription
Public methodGenericObjectPoolT
Initialises a new instance of the GenericObjectPoolT class.
Public methodGenericObjectPoolT(FuncT)
Initialises a new instance of the GenericObjectPoolT class.
Public methodGenericObjectPoolT(Int32, Int32)
Initialises a new instance of the GenericObjectPoolT class.
Public methodGenericObjectPoolT(FuncT, Int32, Int32)
Initialises a new instance of the GenericObjectPoolT class.
Top
Properties
  NameDescription
Public propertyCanAcquire

Gets a value indicating whether an instance can be acquired from the pool.

An instance can be acquired when the pool contains at least one instance, or when InstantiateWhenEmpty is .

Public propertyCount
Gets the number of objects currently contained by the pool.
Public propertyInstantiateWhenEmpty
Gets or sets a value indicating whether to instantiate a new object when the pool is empty, and an attempt is made to acquire from the pool.
Public propertyIsEmpty
Gets a value indicating whether the pool is empty and contains no objects.
Public propertyIsFull
Gets a value indicating whether the pool is full, and cannot contain any more objects.
Public propertyItems
Gets a list of items currently contained by the pool.
Public propertyLogMessages
Gets or sets the level of log messaging that the pool will output.
Public propertyMaximumSize
Gets or sets the maximum size of the pool, which is the maximum number of objects it can contain.
Public propertyRecordStatistics
Gets or sets a value indicating whether to record pool statistics.
Public propertyStatistics
Gets an object containing general operational statistics about the pool.
Top
Methods
  NameDescription
Public methodAcquire
Acquires an object from the pool.
Public methodClear
Clears the pool, emptying it of all pooled objects.
Public methodContains
Determines whether an instance is in the pool.
Public methodEquals (Inherited from Object.)
Public methodFill
Fills the pool, populating it with pooled objects until it reaches the maximum pool size.
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetItems
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodOnCanAcquireChanged
Raises the CanAcquireChanged event.
Protected methodOnCountChanged
Raises the CountChanged event.
Protected methodOnObjectAcquired
Raises the ObjectAcquired event.
Protected methodOnObjectDestroyed
Raises the ObjectDestroyed event.
Protected methodOnObjectInstantiated
Raises the ObjectInstantiated event.
Protected methodOnObjectReleased
Raises the ObjectReleased event.
Public methodRelease
Releases an object back to the pool.
Public methodRemove
Removes the specified instance from the pool.
Public methodSetSize
Sets the number of objects contained by the pool, either destroying excess pooled objects, or instantiating new ones.
Public methodToString (Inherited from Object.)
Public methodTryAcquire
Acquires an object from the pool.
Top
Events
  NameDescription
Public eventCanAcquireChanged
Occurs when the value of CanAcquire changes.
Public eventCountChanged
Occurs when Count changes.
Public eventObjectAcquired
Occurs when an object is acquired from the pool.
Public eventObjectDestroyed
Occurs when an object is destroyed.
Public eventObjectInstantiated
Occurs when a new object is instantiated.
Public eventObjectReleased
Occurs when an object is released back to the pool.
Top
Fields
  NameDescription
Public fieldStatic memberDefaultInitialSize
The default initial size of newly-created pools.
Public fieldStatic memberDefaultMaximumSize
The default maximum size of newly-created pools.
Top
See Also