Revenj.Utility.ChunkedMemoryStream.Close C# (CSharp) Méthode

Close() public méthode

Close current stream. Stream will be added to pool if required. Doesn't release allocated buffers
public Close ( ) : void
Résultat void
        public override void Close()
        {
            if (IsShared)
            {
                if (UsedReader)
                    Reader.DiscardBufferedData();
                UsedBuffered = UsedReader = UsedWriter = false;
            }
            else if (!disposed && BoundToThread == Thread.CurrentThread.ManagedThreadId)
            {
                disposed = true;
                if (Writer != null && UsedWriter)
                    Writer.Flush();
                if (Reader != null && UsedReader)
                    Reader.DiscardBufferedData();
                UsedBuffered = UsedReader = UsedWriter = false;
                if (CurrentEstimate < SizeLimit || Blocks.Count > 10000)
                {
                    MemoryPool.Push(this);
                    CurrentEstimate++;
                }
                else CurrentEstimate = MemoryPool.Count;
            }
        }