Is there any standard Ruby way of creating a bidirectional pipe or
socketpair?

I want to pass a single IO-like object around, but to be able to both read
and write from the other end. (What I'm actually trying to do is to put a
facade around Net::SSH so that the command channel can be passed in as a
proxy to Net::Telnet, but I can think of other uses of this)

IO.popen(..., "w+") does make such a bidirectional pipe, but as far as I can
see only for communicating with a child process.

Any ideas?

Thanks,

Brian.