Table of Contents

Class Pool<T>

Namespace
KSP.Networking.MP.Utils
Assembly
Assembly-CSharp.dll
public class Pool<T> : IPool<T> where T : class

Type Parameters

T
Inheritance
Pool<T>
Implements
Inherited Members
Extension Methods

Constructors

Pool(Allocator, Resetter, Resetter, object)

public Pool(Pool<T>.Allocator allocator, Pool<T>.Resetter resetOnAcquire, Pool<T>.Resetter resetOnReturn, object optionalLock)

Parameters

allocator Pool<T>.Allocator
resetOnAcquire Pool<T>.Resetter
resetOnReturn Pool<T>.Resetter
optionalLock object

Fields

_allocator

protected Pool<T>.Allocator _allocator

Field Value

Pool<T>.Allocator

_available

protected List<T> _available

Field Value

List<T>

_optionalLock

protected object _optionalLock

Field Value

object

_resetterOnAcquire

protected Pool<T>.Resetter _resetterOnAcquire

Field Value

Pool<T>.Resetter

_resetterOnReturn

protected Pool<T>.Resetter _resetterOnReturn

Field Value

Pool<T>.Resetter

Properties

AvailableCount

public int AvailableCount { get; }

Property Value

int

Methods

Acquire()

public virtual T Acquire()

Returns

T

AcquireHandle()

public virtual Pool<T>.ReturnableHandle AcquireHandle()

Returns

Pool<T>.ReturnableHandle

AcquireMultiple(ICollection<T>, int)

public virtual void AcquireMultiple(ICollection<T> collection, int count)

Parameters

collection ICollection<T>
count int

Flush()

public virtual void Flush()

MakeAvailable(int)

public virtual void MakeAvailable(int count)

Parameters

count int

Return(ref T)

public virtual void Return(ref T t)

Parameters

t T

ReturnUnprotected(T)

public virtual void ReturnUnprotected(T t)

Parameters

t T