def METHOD_NAME(self, data, timeout=30):
    """
    Try to send the message until it either sends or hits timeout.
    :param data: The content of the message.
    :type data: ``bytes`` or ``zmq.sugar.frame.Frame`` or ``memoryview``
    :param timeout: Timeout to retry sending the message.
    :type timeout: ``int``
    :return: ``None``
    :rtype: ``NoneType``
    """
    return retry_until_timeout(
        exception=zmq.ZMQError,
        item=self._socket.METHOD_NAME,
        kwargs={"data": data, "flags": zmq.NOBLOCK},
        timeout=timeout,
        raise_on_timeout=True,
    )