Yes. This allows you to have the "when any of these socket's state changes" semantics in your controller/dispatcher function. I would like it if they had such an interface in stdlib...
If you really do just need to take data from one Reader and send it to a Writer, you can make a new Pipe.
Comments
Would you just select { case <- reader... case writer <- data..} ?
I know this isn't the same as posix select, but it does let you have one goroutine coordinate the hot potato..
That would require a goroutine for each socket to hot potato from the socket to a channel, right?
Yes. This allows you to have the "when any of these socket's state changes" semantics in your controller/dispatcher function. I would like it if they had such an interface in stdlib...
If you really do just need to take data from one Reader and send it to a Writer, you can make a new Pipe.