public static void CreatePipe(out Stream reader, out Stream writer) { RubyPipe pipe = new RubyPipe(); reader = pipe; writer = new PipeWriter(pipe); }
private RubyPipe(RubyPipe pipe) { _dataAvailableEvent = pipe._dataAvailableEvent; _writerClosedEvent = pipe._writerClosedEvent; _eventArray = pipe._eventArray; _queue = pipe._queue; }
public static RubyArray /*!*/ OpenPipe(RubyClass /*!*/ self) { Stream reader, writer; RubyPipe.CreatePipe(out reader, out writer); RubyArray result = new RubyArray(2); result.Add(new RubyIO(self.Context, reader, IOMode.ReadOnly)); result.Add(new RubyIO(self.Context, writer, IOMode.WriteOnly)); return(result); }
internal PipeWriter(RubyPipe pipe) : base(pipe) { }