Suppose I have a source and a sink of data. These are IO-like, but you can't do a select on them. I'd like to be able to do a select. I'd also like to treat these as a single IO object. So I thought: Well, I'll fork a TCPServer. I'll let it read from the input stream and write to the client. I'll let it read from the client and write to the output stream. Then I'll open a socket to that server, et voila! There is my select-able duplex IO object. But in practice, I'm having trouble implementing this. I won't even show you the code. ;) Any assistance appreciated. Hal