def _send_request_to_node(self, node_id, request, wakeup=True):
        """Send a Kafka protocol message to a specific broker.

        Arguments:
            node_id: The broker id to which to send the message.
            request: The message to send.


        Keyword Arguments:
            wakeup (bool, optional): Optional flag to disable thread-wakeup.

        Returns:
            A future object that may be polled for status and results.

        Raises:
            The exception if the message could not be sent.
        """
        while not self._client.ready(node_id):
            # poll until the connection to broker is ready, otherwise send()
            # will fail with NodeNotReadyError
            self._client.poll(timeout_ms=200)
        return self._client.send(node_id, request, wakeup)
Send a Kafka protocol message to a specific broker.

        Arguments:
            node_id: The broker id to which to send the message.
            request: The message to send.


        Keyword Arguments:
            wakeup (bool, optional): Optional flag to disable thread-wakeup.

        Returns:
            A future object that may be polled for status and results.

        Raises:
            The exception if the message could not be sent.
        
kafka/admin/client.py