public OutputQueue(IBufferPolicy bufferPolicy) { if (bufferPolicy == null) { throw new ArgumentNullException("bufferPolicy"); } this._syncRoot = new object(); this._bufferPolicy = bufferPolicy; this._pending = new Queue <OutputQueue.Gram>(); }
public static OutputQueue.Gram Acquire(IBufferPolicy bufferPolicy) { lock (OutputQueue.Gram._pool) { OutputQueue.Gram local_0 = OutputQueue.Gram._pool.Count <= 0 ? new OutputQueue.Gram() : OutputQueue.Gram._pool.Pop(); local_0._bufferPolicy = bufferPolicy; local_0._buffer = bufferPolicy.Acquire(); local_0._length = 0; return(local_0); } }