[Boost-users] How to use boost::asio to implement a synchronous operation with timeouts?