I've already wasted two days reading documentation of boost::asio And I still don't know how I could implement blocking select() like function for several sockets using only one thread (using boost framework). Asynchronous functions of boost::asio return immediately, so there would be a need to put some wait function in main thread until one of the async_read's finishes. I suspect that this would
![how to implemet POSIX select() based behaviour, within boost::asio](https://cdn-ak-scissors.b.st-hatena.com/image/square/98d6f053a97a87156775f60757c60865d0f2c47d/height=288;version=1;width=512/https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fstackoverflow%2FImg%2Fapple-touch-icon%402.png%3Fv%3D73d79a89bded)