Well, I would gladly do that, but reading from the socket is blocking. If there's no data, the `_recv_msg` call will not return.