public override void Close() { CrossStream other = OtherSide; CloseBase(); if (other != null) { other.CloseBase(); } }
public override void Write(byte[] buffer, int offset, int count) { CrossStream other = OtherSide; if (other == null) { throw new ObjectDisposedException("CrossStream", "The stream has been closed"); } other.AddReadBufferCopy(buffer, offset, count); }
public static CrossStream CreatePair(out CrossStream stream1, out CrossStream stream2) { return(stream1 = CreatePair(out stream2)); }
protected CrossStream(CrossStream other) { OtherSide = other; }
public CrossStream() { OtherSide = new CrossStream(this); }
public static CrossStream CreatePair(out CrossStream stream2) { stream2 = new CrossStream(); return(stream2.OtherSide); }