So here is my problem: we already have accepted
a boost asio tcp socket. And all of our APIs use it. And we just need to do such 'timeouted read' in one function.
It is possible to do such 'timeouted read' as shown here. But I get boost asio tcp socket from my APIs so I wonder if it was any how possible to turn Boost::asio socket into basic_socket_iostream. How to do it?