def _non_connect_send_recv(self, msg_code, data=None):
        """
        Similar to self._send_recv, but doesn't try to initiate a connection,
        thus preventing an infinite loop.
        """
        self._non_connect_send_msg(msg_code, data)
        return self._recv_msg()