public TFramedTransport(TTransport transport) : base(transport) { ReadBuffer = new Client.TMemoryBufferTransport(Configuration); WriteBuffer = new Client.TMemoryBufferTransport(Configuration); InitWriteBuffer(); }
//TODO: should support only specified input transport? public TBufferedTransport(TTransport transport, int bufSize = 1024) : base(transport) { if (bufSize <= 0) { throw new ArgumentOutOfRangeException(nameof(bufSize), "Buffer size must be a positive number."); } DesiredBufferSize = bufSize; WriteBuffer = new Client.TMemoryBufferTransport(InnerTransport.Configuration, bufSize); ReadBuffer = new Client.TMemoryBufferTransport(InnerTransport.Configuration, bufSize); Debug.Assert(DesiredBufferSize == ReadBuffer.Capacity); Debug.Assert(DesiredBufferSize == WriteBuffer.Capacity); }