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); }