socket: support for async_receive_until