コード例 #1
0
ファイル: TransportWriter.cs プロジェクト: Eclo/amqpnetlite
        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;
        }
コード例 #2
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);
        }