diff --git a/src/Polly.Core/Utils/ObjectPool.cs b/src/Polly.Core/Utils/ObjectPool.cs index 886e38a1dc8..93750c6acf6 100644 --- a/src/Polly.Core/Utils/ObjectPool.cs +++ b/src/Polly.Core/Utils/ObjectPool.cs @@ -6,7 +6,7 @@ internal sealed class ObjectPool { internal static readonly int MaxCapacity = (Environment.ProcessorCount * 2) - 1; // the - 1 is to account for _fastItem - private readonly Func, T> _createFunc; + private readonly Func _createFunc; private readonly Func _returnFunc; private readonly ConcurrentQueue _items = new(); @@ -14,17 +14,7 @@ internal sealed class ObjectPool private T? _fastItem; private int _numItems; - public ObjectPool(Func createFunc, Action reset) - : this(createFunc, o => { reset(o); return true; }) - { - } - public ObjectPool(Func createFunc, Func returnFunc) - : this(_ => createFunc(), returnFunc) - { - } - - public ObjectPool(Func, T> createFunc, Func returnFunc) { _createFunc = createFunc; _returnFunc = returnFunc; @@ -42,7 +32,7 @@ public T Get() } // no object available, so go get a brand new one - return _createFunc(this); + return _createFunc(); } return item; diff --git a/test/Polly.Core.Tests/Utils/ObjectPoolTests.cs b/test/Polly.Core.Tests/Utils/ObjectPoolTests.cs index ac4f6d8613f..16495fe6f37 100644 --- a/test/Polly.Core.Tests/Utils/ObjectPoolTests.cs +++ b/test/Polly.Core.Tests/Utils/ObjectPoolTests.cs @@ -8,7 +8,7 @@ public class ObjectPoolTests public void GetAnd_ReturnObject_SameInstance() { // Arrange - var pool = new ObjectPool(() => new object(), _ => { }); + var pool = new ObjectPool(() => new object(), _ => true); var obj1 = pool.Get(); pool.Return(obj1);