Class MqttEndpoint


  • public class MqttEndpoint
    extends Object
    Represents an MQTT endpoint for point-to-point communication with the remote MQTT client

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Field Detail

      • __TYPE_ARG

        public static final io.vertx.lang.rx.TypeArg<MqttEndpoint> __TYPE_ARG
    • Constructor Detail

      • MqttEndpoint

        public MqttEndpoint​(MqttEndpoint delegate)
      • MqttEndpoint

        public MqttEndpoint​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • close

        public void close()
        Close the endpoint, so the connection with remote MQTT client
      • remoteAddress

        public SocketAddress remoteAddress()
        Returns:
        the remote address for this socket
      • localAddress

        public SocketAddress localAddress()
        Returns:
        the local address for this socket
      • isSsl

        public boolean isSsl()
        Returns:
        true if this MqttEndpoint is encrypted via SSL/TLS.
      • httpHeaders

        public MultiMap httpHeaders()
        Returns the HTTP headers sent by the client when a WebSocket transport is used otherwise null
        Returns:
        the HTTP headers
      • httpRequestURI

        public String httpRequestURI()
        Returns the HTTP request URI sent by the client when a WebSocket transport is used otherwise null
        Returns:
        the HTTP request uri
      • clientIdentifier

        public String clientIdentifier()
        Returns:
        the client identifier as provided by the remote MQTT client
      • auth

        public MqttAuth auth()
        Returns:
        the Authentication information as provided by the remote MQTT client
      • will

        public MqttWill will()
        Returns:
        the Will information as provided by the remote MQTT client
      • protocolVersion

        public int protocolVersion()
        Returns:
        the protocol version required by the remote MQTT client
      • protocolName

        public String protocolName()
        Returns:
        the protocol name provided by the remote MQTT client
      • isCleanSession

        public boolean isCleanSession()
        Returns:
        true when clean session is requested by the remote MQTT client
      • keepAliveTimeSeconds

        public int keepAliveTimeSeconds()
        Returns:
        the keep alive timeout (in seconds) specified by the remote MQTT client
      • lastMessageId

        public int lastMessageId()
        Returns:
        the message identifier used for last published message
      • subscriptionAutoAck

        public void subscriptionAutoAck​(boolean isSubscriptionAutoAck)
        Enable/disable subscription/unsubscription requests auto acknowledge
        Parameters:
        isSubscriptionAutoAck - auto acknowledge status
      • isSubscriptionAutoAck

        public boolean isSubscriptionAutoAck()
        Returns:
        true when auto acknowledge status for subscription/unsubscription requests
      • publishAutoAck

        public MqttEndpoint publishAutoAck​(boolean isPublishAutoAck)
        Enable/disable publishing (in/out) auto acknowledge
        Parameters:
        isPublishAutoAck - auto acknowledge status
        Returns:
        a reference to this, so the API can be used fluently
      • isPublishAutoAck

        public boolean isPublishAutoAck()
        Returns:
        auto acknowledge status for publishing (in/out)
      • autoKeepAlive

        public MqttEndpoint autoKeepAlive​(boolean isAutoKeepAlive)
        Enable/disable auto keep alive (sending ping response)
        Parameters:
        isAutoKeepAlive - auto keep alive
        Returns:
        a reference to this, so the API can be used fluently
      • isAutoKeepAlive

        public boolean isAutoKeepAlive()
        Returns:
        the auto keep alive status (sending ping response)
      • isConnected

        public boolean isConnected()
        Returns:
        if the connection between remote client and local endpoint is established/open
      • setClientIdentifier

        public MqttEndpoint setClientIdentifier​(String clientIdentifier)
        Set client identifier if not provided by the remote MQTT client (zero-bytes)
        Parameters:
        clientIdentifier - the client identifier
        Returns:
        a reference to this, so the API can be used fluently
      • disconnectHandler

        public MqttEndpoint disconnectHandler​(Handler<Void> handler)
        Set a disconnect handler on the MQTT endpoint. This handler is called when a DISCONNECT message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • disconnectMessageHandler

        public MqttEndpoint disconnectMessageHandler​(Handler<MqttDisconnectMessage> handler)
        Set a disconnect handler on the MQTT endpoint. This handler is called when a DISCONNECT message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • subscribeHandler

        public MqttEndpoint subscribeHandler​(Handler<MqttSubscribeMessage> handler)
        Set a subscribe handler on the MQTT endpoint. This handler is called when a SUBSCRIBE message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • unsubscribeHandler

        public MqttEndpoint unsubscribeHandler​(Handler<MqttUnsubscribeMessage> handler)
        Set a unsubscribe handler on the MQTT endpoint. This handler is called when a UNSUBSCRIBE message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishHandler

        public MqttEndpoint publishHandler​(Handler<MqttPublishMessage> handler)
        Set the publish handler on the MQTT endpoint. This handler is called when a PUBLISH message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishAcknowledgeHandler

        public MqttEndpoint publishAcknowledgeHandler​(Handler<Integer> handler)
        Set the puback handler on the MQTT endpoint. This handler is called when a PUBACK message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishAcknowledgeMessageHandler

        public MqttEndpoint publishAcknowledgeMessageHandler​(Handler<MqttPubAckMessage> handler)
        Set the puback handler on the MQTT endpoint. This handler is called when a PUBACK message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishReceivedHandler

        public MqttEndpoint publishReceivedHandler​(Handler<Integer> handler)
        Set the pubrec handler on the MQTT endpoint. This handler is called when a PUBREC message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishReceivedMessageHandler

        public MqttEndpoint publishReceivedMessageHandler​(Handler<MqttPubRecMessage> handler)
        Set the pubrec handler on the MQTT endpoint. This handler is called when a PUBREC message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishReleaseHandler

        public MqttEndpoint publishReleaseHandler​(Handler<Integer> handler)
        Set the pubrel handler on the MQTT endpoint. This handler is called when a PUBREL message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishReleaseMessageHandler

        public MqttEndpoint publishReleaseMessageHandler​(Handler<MqttPubRelMessage> handler)
        Set the pubrel handler on the MQTT endpoint. This handler is called when a PUBREL message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishCompletionHandler

        public MqttEndpoint publishCompletionHandler​(Handler<Integer> handler)
        Set the pubcomp handler on the MQTT endpoint. This handler is called when a PUBCOMP message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • publishCompletionMessageHandler

        public MqttEndpoint publishCompletionMessageHandler​(Handler<MqttPubCompMessage> handler)
        Set the pubcomp handler on the MQTT endpoint. This handler is called when a PUBCOMP message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • authenticationExchangeHandler

        public MqttEndpoint authenticationExchangeHandler​(Handler<MqttAuthenticationExchangeMessage> handler)
        Set the auth handler on the MQTT endpoint. This handler is called when a AUTH message is received by the remote MQTT client
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • pingHandler

        public MqttEndpoint pingHandler​(Handler<Void> handler)
        Set the pingreq handler on the MQTT endpoint. This handler is called when a PINGREQ message is received by the remote MQTT client. In any case the endpoint sends the PINGRESP internally after executing this handler.
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • closeHandler

        public MqttEndpoint closeHandler​(Handler<Void> handler)
        Set a close handler. This will be called when the MQTT endpoint is closed
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • exceptionHandler

        public MqttEndpoint exceptionHandler​(Handler<Throwable> handler)
        Set an exception handler. This will be called when an error at protocol level happens
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • accept

        public MqttEndpoint accept​(boolean sessionPresent)
        Sends the CONNACK message to the remote MQTT client with "connection accepted" return code. See reject(io.netty.handler.codec.mqtt.MqttConnectReturnCode) for refusing connection
        Parameters:
        sessionPresent - if a previous session is present
        Returns:
        a reference to this, so the API can be used fluently
      • reject

        public MqttEndpoint reject​(MqttConnectReturnCode returnCode)
        Sends the CONNACK message to the remote MQTT client rejecting the connection request with specified return code. See accept() for accepting connection
        Parameters:
        returnCode - the connect return code
        Returns:
        a reference to this, so the API can be used fluently
      • subscribeAcknowledge

        public MqttEndpoint subscribeAcknowledge​(int subscribeMessageId,
                                                 List<MqttQoS> grantedQoSLevels)
        Sends the SUBACK message to the remote MQTT client
        Parameters:
        subscribeMessageId - identifier of the SUBSCRIBE message to acknowledge
        grantedQoSLevels - granted QoS levels for the requested topics
        Returns:
        a reference to this, so the API can be used fluently
      • unsubscribeAcknowledge

        public MqttEndpoint unsubscribeAcknowledge​(int unsubscribeMessageId)
        Sends the UNSUBACK message to the remote MQTT client
        Parameters:
        unsubscribeMessageId - identifier of the UNSUBSCRIBE message to acknowledge
        Returns:
        a reference to this, so the API can be used fluently
      • publishAcknowledge

        public MqttEndpoint publishAcknowledge​(int publishMessageId)
        Sends the PUBACK message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        Returns:
        a reference to this, so the API can be used fluently
      • publishReceived

        public MqttEndpoint publishReceived​(int publishMessageId)
        Sends the PUBREC message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        Returns:
        a reference to this, so the API can be used fluently
      • publishRelease

        public MqttEndpoint publishRelease​(int publishMessageId)
        Sends the PUBREL message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        Returns:
        a reference to this, so the API can be used fluently
      • publishComplete

        public MqttEndpoint publishComplete​(int publishMessageId)
        Sends the PUBCOMP message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        Returns:
        a reference to this, so the API can be used fluently
      • publish

        public Future<Integer> publish​(String topic,
                                       Buffer payload,
                                       MqttQoS qosLevel,
                                       boolean isDup,
                                       boolean isRetain)
        Sends the PUBLISH message to the remote MQTT client
        Parameters:
        topic - topic on which the message is published
        payload - message payload
        qosLevel - quality of service level
        isDup - if the message is a duplicate
        isRetain - if the message needs to be retained
        Returns:
        a Future completed after PUBLISH packet sent with a packetId
      • rxPublish

        public Single<Integer> rxPublish​(String topic,
                                         Buffer payload,
                                         MqttQoS qosLevel,
                                         boolean isDup,
                                         boolean isRetain)
        Sends the PUBLISH message to the remote MQTT client
        Parameters:
        topic - topic on which the message is published
        payload - message payload
        qosLevel - quality of service level
        isDup - if the message is a duplicate
        isRetain - if the message needs to be retained
        Returns:
        a Future completed after PUBLISH packet sent with a packetId
      • publish

        public Future<Integer> publish​(String topic,
                                       Buffer payload,
                                       MqttQoS qosLevel,
                                       boolean isDup,
                                       boolean isRetain,
                                       int messageId)
        Sends the PUBLISH message to the remote MQTT server explicitly specifying the messageId
        Parameters:
        topic - topic on which the message is published
        payload - message payload
        qosLevel - QoS level
        isDup - if the message is a duplicate
        isRetain - if the message needs to be retained
        messageId - message ID
        Returns:
        a future notified after PUBLISH packet sent with a packetId
      • rxPublish

        public Single<Integer> rxPublish​(String topic,
                                         Buffer payload,
                                         MqttQoS qosLevel,
                                         boolean isDup,
                                         boolean isRetain,
                                         int messageId)
        Sends the PUBLISH message to the remote MQTT server explicitly specifying the messageId
        Parameters:
        topic - topic on which the message is published
        payload - message payload
        qosLevel - QoS level
        isDup - if the message is a duplicate
        isRetain - if the message needs to be retained
        messageId - message ID
        Returns:
        a future notified after PUBLISH packet sent with a packetId
      • authenticationExchange

        public MqttEndpoint authenticationExchange​(MqttAuthenticationExchangeMessage message)
        Sends the AUTH message to the remote MQTT client
        Parameters:
        message -
        Returns:
        a reference to this, so the API can be used fluently
      • pong

        public MqttEndpoint pong()
        Sends the PINGRESP message to the remote MQTT client
        Returns:
        a reference to this, so the API can be used fluently
      • connectProperties

        public MqttProperties connectProperties()
        Returns:
        MQTT properties of the CONNECT message
      • accept

        public MqttEndpoint accept​(boolean sessionPresent,
                                   MqttProperties properties)
        Sends the CONNACK message to the remote MQTT client with "connection accepted" return code. See reject(io.netty.handler.codec.mqtt.MqttConnectReturnCode) for refusing connection
        Parameters:
        sessionPresent - if a previous session is present
        properties - CONNACK message properties (MQTT5)
        Returns:
        a reference to this, so the API can be used fluently
      • reject

        public MqttEndpoint reject​(MqttConnectReturnCode returnCode,
                                   MqttProperties properties)
        Sends the CONNACK message to the remote MQTT client rejecting the connection request with specified return code. See accept() for accepting connection
        Parameters:
        returnCode - the connect return code
        properties - CONNACK message properties
        Returns:
        a reference to this, so the API can be used fluently
      • subscribeAcknowledge

        public MqttEndpoint subscribeAcknowledge​(int subscribeMessageId,
                                                 List<MqttSubAckReasonCode> reasonCodes,
                                                 MqttProperties properties)
        Sends the SUBACK message to the remote MQTT client
        Parameters:
        subscribeMessageId - identifier of the SUBSCRIBE message to acknowledge
        reasonCodes - reason codes
        properties - MQTT message properties
        Returns:
        a reference to this, so the API can be used fluently
      • unsubscribeAcknowledge

        public MqttEndpoint unsubscribeAcknowledge​(int unsubscribeMessageId,
                                                   List<MqttUnsubAckReasonCode> reasonCodes,
                                                   MqttProperties properties)
        Sends the UNSUBACK message to the remote MQTT client
        Parameters:
        unsubscribeMessageId - identifier of the UNSUBSCRIBE message to acknowledge
        reasonCodes - reason codes
        properties - MQTT message properties
        Returns:
        a reference to this, so the API can be used fluently
      • publishReceived

        public MqttEndpoint publishReceived​(int publishMessageId,
                                            MqttPubRecReasonCode reasonCode,
                                            MqttProperties properties)
        Sends the PUBREC message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        reasonCode - code of the outcome
        properties - MQTT properties
        Returns:
        a reference to this, so the API can be used fluently
      • publishRelease

        public MqttEndpoint publishRelease​(int publishMessageId,
                                           MqttPubRelReasonCode reasonCode,
                                           MqttProperties properties)
        Sends the PUBREL message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        reasonCode - reason code
        properties - MQTT message properties
        Returns:
        a reference to this, so the API can be used fluently
      • publishComplete

        public MqttEndpoint publishComplete​(int publishMessageId,
                                            MqttPubCompReasonCode reasonCode,
                                            MqttProperties properties)
        Sends the PUBCOMP message to the remote MQTT client
        Parameters:
        publishMessageId - identifier of the PUBLISH message to acknowledge
        reasonCode - reason code
        properties - MQTT message properties
        Returns:
        a reference to this, so the API can be used fluently
      • publish

        public Future<Integer> publish​(String topic,
                                       Buffer payload,
                                       MqttQoS qosLevel,
                                       boolean isDup,
                                       boolean isRetain,
                                       int messageId,
                                       MqttProperties properties)
        Sends the PUBLISH message to the remote MQTT server explicitly specifying the messageId
        Parameters:
        topic - topic on which the message is published
        payload - message payload
        qosLevel - QoS level
        isDup - if the message is a duplicate
        isRetain - if the message needs to be retained
        messageId - message ID
        properties - PUBLISH message properties
        Returns:
        a future notified after PUBLISH packet sent with a packetId
      • rxPublish

        public Single<Integer> rxPublish​(String topic,
                                         Buffer payload,
                                         MqttQoS qosLevel,
                                         boolean isDup,
                                         boolean isRetain,
                                         int messageId,
                                         MqttProperties properties)
        Sends the PUBLISH message to the remote MQTT server explicitly specifying the messageId
        Parameters:
        topic - topic on which the message is published
        payload - message payload
        qosLevel - QoS level
        isDup - if the message is a duplicate
        isRetain - if the message needs to be retained
        messageId - message ID
        properties - PUBLISH message properties
        Returns:
        a future notified after PUBLISH packet sent with a packetId
      • disconnect

        public MqttEndpoint disconnect​(MqttDisconnectReasonCode code,
                                       MqttProperties properties)
        Sends the DISCONNECT message to the remote MQTT client
        Parameters:
        code - reason code
        properties - MQTT message properties
        Returns:
        a reference to this, so the API can be used fluently