Beispiel #1
0
        public Task FlushAsync()
        {
            var buffer = new FlushByteBuffer();
            lock (this.SyncRoot)
            {
                if (this.closed)
                {
                    buffer.ReleaseReference();
                    throw new ObjectDisposedException(this.GetType().Name);
                }

                if (this.writing)
                {
                    this.bufferQueue.Enqueue(buffer);
                }
                else
                {
                    buffer.ReleaseReference();
                }
            }

            return buffer.Task;
        }
        public Task FlushAsync()
        {
            var buffer = new FlushByteBuffer();

            lock (this.SyncRoot)
            {
                if (this.closed)
                {
                    buffer.ReleaseReference();
                    throw new ObjectDisposedException(this.GetType().Name);
                }

                if (this.writing)
                {
                    this.bufferQueue.Enqueue(buffer);
                }
                else
                {
                    buffer.ReleaseReference();
                }
            }

            return(buffer.Task);
        }