Show / Hide Table of Contents

Class MemoryStreamPool

Object pool for System.IO.MemoryStream instances.

Inheritance
System.Object
ObjectPoolBase<PooledMemoryStream>
MemoryStreamPool
Implements
IObjectPool<PooledMemoryStream>
IObjectPoolAllocateFree<PooledMemoryStream>
IObjectPoolNew<PooledMemoryStream>
Inherited Members
ObjectPoolBase<PooledMemoryStream>.Allocate()
ObjectPoolBase<PooledMemoryStream>.Free(PooledMemoryStream)
ObjectPoolBase<PooledMemoryStream>.CreateInstance()
Namespace: System.IO
Assembly: Nuqleon.Memory.dll
Syntax
public abstract class MemoryStreamPool : ObjectPoolBase<PooledMemoryStream>, IObjectPool<PooledMemoryStream>, IObjectPoolAllocateFree<PooledMemoryStream>, IObjectPoolNew<PooledMemoryStream>

Constructors

MemoryStreamPool(Int32)

Creates a new System.IO.MemoryStream pool of the specified pool size.

Declaration
protected MemoryStreamPool(int size)
Parameters
Type Name Description
System.Int32 size

Number of System.IO.MemoryStream instances to keep in the pool.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if size is less than zero.

Methods

Create(Int32)

Creates a new System.IO.MemoryStream pool of the specified pool size. The pool creates new instances of System.IO.MemoryStream by calling the default constructor on MemoryStream.

Declaration
public static MemoryStreamPool Create(int size)
Parameters
Type Name Description
System.Int32 size

Number of System.IO.MemoryStream instances to keep in the pool.

Returns
Type Description
MemoryStreamPool

Newly created pool for System.IO.MemoryStream instances.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if size is less than zero.

Create(Int32, Int32)

Creates a new System.IO.MemoryStream pool of the specified pool size. The pool creates new instances of System.IO.MemoryStream by calling the constructor on System.IO.MemoryStream, passing in the specified capacity.

Declaration
public static MemoryStreamPool Create(int size, int capacity)
Parameters
Type Name Description
System.Int32 size

Number of System.IO.MemoryStream instances to keep in the pool.

System.Int32 capacity

The initial size of the internal array in bytes.

Returns
Type Description
MemoryStreamPool

Newly created pool for System.IO.MemoryStream instances.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if size is less than zero.

Create(Int32, Int32, Int32)

Creates a new System.IO.MemoryStream pool of the specified pool size. The pool creates new instances of System.IO.MemoryStream by calling the constructor on System.IO.MemoryStream, passing in the specified capacity.

Declaration
public static MemoryStreamPool Create(int size, int capacity, int maxCapacity)
Parameters
Type Name Description
System.Int32 size

Number of System.IO.MemoryStream instances to keep in the pool.

System.Int32 capacity

The initial size of the internal array in bytes.

System.Int32 maxCapacity

The maximum capacity allowed for pooled instances.

Returns
Type Description
MemoryStreamPool

Newly created pool for System.IO.MemoryStream instances.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if size is less than zero.

New()

Gets a holder to a pooled memory stream instance with RAII capabilities to return it to the pool.

Declaration
public PooledMemoryStreamHolder New()
Returns
Type Description
PooledMemoryStreamHolder

Holder to a pooled memory stream instance.

Implements

IObjectPool<T>
IObjectPoolAllocateFree<T>
IObjectPoolNew<T>
In This Article
Back to top Generated by DocFX