/// <summary>Initializes a new instance of the <see cref="TelnetStream"/> class.</summary> /// <exception cref="ArgumentNullException"><paramref name="readAsync"/>, <paramref name="writeAsync"/> and/or /// <paramref name="dataAvailable"/> equal <c>null</c>.</exception> public TelnetStream(ReadAsyncCallback readAsync, WriteAsyncCallback writeAsync, Func<bool> dataAvailable) : base( new ReadBuffer(readAsync, Defaults.PhysicalStreamBufferSize), new WriteBuffer(writeAsync, Defaults.PhysicalStreamBufferSize)) { if (readAsync == null) { throw new ArgumentNullException(nameof(readAsync)); } if (writeAsync == null) { throw new ArgumentNullException(nameof(writeAsync)); } if (dataAvailable == null) { throw new ArgumentNullException(nameof(dataAvailable)); } this.dataAvailable = dataAvailable; }
public S101Writer(WriteAsyncCallback writeAsync, int bufferSize) { this.writeBuffer = new WriteBuffer(writeAsync, bufferSize); }
public S101Writer(WriteAsyncCallback writeAsync) : this(writeAsync, Constants.PhysicalStreamBufferSize) { }
public WriteBuffer(WriteAsyncCallback writeAsync, int bufferSize) : base(bufferSize) { if (writeAsync == null) { throw new ArgumentNullException(nameof(writeAsync)); } this.writeAsync = writeAsync; this.write = (b, o, c) => ThrowInvalidSyncOperationException(); }