private void ReleaseMemoryChunks(MemoryChunk chunk) { while (chunk != null) { chunk.Dispose(); chunk = chunk.Next; } }
protected internal override void DestroyChunk(PoolChunk <byte[]> chunk) { for (int i = 0; i < _memoryChunks.Count; i++) { MemoryChunk memoryChunk = _memoryChunks[i]; if (ReferenceEquals(chunk.Memory, memoryChunk.Bytes)) { _ = _memoryChunks.Remove(memoryChunk); memoryChunk.Dispose(); break; } } }