Given two things, one of which implements
std::io::Read and other implements
std::io::Write, make a single socket-like object which implmenets
Read + Write. Note that you can't write to it while waiting for data to come from read part.
There is also AsyncRead / AsyncWrite analogue, see
Combined reader and writer
Combined async reader and writer.
Note that this struct is only present in