diff --git a/Pooling/IPool.cs b/Pooling/IPool.cs new file mode 100644 index 0000000..a2b16e3 --- /dev/null +++ b/Pooling/IPool.cs @@ -0,0 +1,16 @@ +using Exanite.Core.Runtime; + +namespace Exanite.Core.Pooling +{ + public interface IPool : ITrackedDisposable + { + public PoolUsageInfo UsageInfo { get; } + + public Pool.Handle Acquire(out T value); + public T Acquire(); + + public void Release(T element); + + public void Clear(); + } +} diff --git a/Pooling/Pool.cs b/Pooling/Pool.cs index a839999..cc9ab2c 100644 --- a/Pooling/Pool.cs +++ b/Pooling/Pool.cs @@ -16,7 +16,7 @@ public abstract class Pool : ITrackedDisposable /// /// Conventional object pool where objects can be acquired and released. /// - public class Pool : Pool + public class Pool : Pool, IPool { private readonly Queue values;