[boost] ASIO: Why does do_one use a one second timeout and loop whan called in blocking mode?