private void WriteIntoTarget(GZipStream compression) { for (long i = 0; i < _countOfBlocks; i++) { _OrderedByteBlock byteBlockToWrite; while (!_byteBlocksToCompress.TryGetAndRemove(i, out byteBlockToWrite)) { continue; } compression.Write(byteBlockToWrite.Bytes, 0, byteBlockToWrite.Length); _byteBlockPool.Release(byteBlockToWrite.Bytes); } }
private void WriteIntoTarget(GZipStream compression) { for (long i = 0; i < _countOfBlocks; i++) { byte[] bytesToWrite; while (!_byteBlocksToCompress.TryGetAndRemove(i, out bytesToWrite)) { continue; } compression.Write(bytesToWrite, 0, bytesToWrite.Length); // аппендикс не возвращаем в пул, т.к. он был взят не оттуда if (i < _countOfBlocks - 1) { _byteBlockPool.Release(bytesToWrite); } } }