Class MqttClient


  • public class MqttClient
    extends Object
    An MQTT client

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

    • Constructor Detail

      • MqttClient

        public MqttClient​(MqttClient delegate)
      • MqttClient

        public MqttClient​(Object delegate)
    • Method Detail

      • hashCode

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

        public static MqttClient create​(Vertx vertx,
                                        MqttClientOptions options)
        Return an MQTT client instance
        Parameters:
        vertx - Vert.x instance
        options - MQTT client options
        Returns:
        MQTT client instance
      • create

        public static MqttClient create​(Vertx vertx)
        Return an MQTT client instance using the default options
        Parameters:
        vertx - Vert.x instance
        Returns:
        MQTT client instance
      • connect

        public MqttClient connect​(int port,
                                  String host,
                                  Handler<AsyncResult<MqttConnAckMessage>> connectHandler)
        Connects to an MQTT server calling connectHandler after connection
        Parameters:
        port - port of the MQTT server
        host - hostname/ip address of the MQTT server
        connectHandler - handler called when the asynchronous connect call ends
        Returns:
        current MQTT client instance
      • connect

        public MqttClient connect​(int port,
                                  String host)
        Connects to an MQTT server calling connectHandler after connection
        Parameters:
        port - port of the MQTT server
        host - hostname/ip address of the MQTT server
        Returns:
        current MQTT client instance
      • rxConnect

        public rx.Single<MqttConnAckMessage> rxConnect​(int port,
                                                       String host)
        Connects to an MQTT server calling connectHandler after connection
        Parameters:
        port - port of the MQTT server
        host - hostname/ip address of the MQTT server
        Returns:
        current MQTT client instance
      • connect

        public MqttClient connect​(int port,
                                  String host,
                                  String serverName,
                                  Handler<AsyncResult<MqttConnAckMessage>> connectHandler)
        Connects to an MQTT server calling connectHandler after connection
        Parameters:
        port - port of the MQTT server
        host - hostname/ip address of the MQTT server
        serverName - the SNI server name
        connectHandler - handler called when the asynchronous connect call ends
        Returns:
        current MQTT client instance
      • connect

        public MqttClient connect​(int port,
                                  String host,
                                  String serverName)
        Connects to an MQTT server calling connectHandler after connection
        Parameters:
        port - port of the MQTT server
        host - hostname/ip address of the MQTT server
        serverName - the SNI server name
        Returns:
        current MQTT client instance
      • rxConnect

        public rx.Single<MqttConnAckMessage> rxConnect​(int port,
                                                       String host,
                                                       String serverName)
        Connects to an MQTT server calling connectHandler after connection
        Parameters:
        port - port of the MQTT server
        host - hostname/ip address of the MQTT server
        serverName - the SNI server name
        Returns:
        current MQTT client instance
      • disconnect

        public MqttClient disconnect​(Handler<AsyncResult<Void>> disconnectHandler)
        Disconnects from the MQTT server calling disconnectHandler after disconnection
        Parameters:
        disconnectHandler - handler called when asynchronous disconnect call ends
        Returns:
        current MQTT client instance
      • disconnect

        public MqttClient disconnect()
        Disconnects from the MQTT server calling disconnectHandler after disconnection
        Returns:
        current MQTT client instance
      • rxDisconnect

        public rx.Single<Void> rxDisconnect()
        Disconnects from the MQTT server calling disconnectHandler after disconnection
        Returns:
        current MQTT client instance
      • publish

        public MqttClient publish​(String topic,
                                  Buffer payload,
                                  io.netty.handler.codec.mqtt.MqttQoS qosLevel,
                                  boolean isDup,
                                  boolean isRetain,
                                  Handler<AsyncResult<Integer>> publishSentHandler)
        Sends the PUBLISH message to the remote MQTT server
        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
        publishSentHandler - handler called after PUBLISH packet sent with packetid (not when QoS 0)
        Returns:
        current MQTT client instance
      • publish

        public MqttClient publish​(String topic,
                                  Buffer payload,
                                  io.netty.handler.codec.mqtt.MqttQoS qosLevel,
                                  boolean isDup,
                                  boolean isRetain)
        Sends the PUBLISH message to the remote MQTT server
        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
        Returns:
        current MQTT client instance
      • rxPublish

        public rx.Single<Integer> rxPublish​(String topic,
                                            Buffer payload,
                                            io.netty.handler.codec.mqtt.MqttQoS qosLevel,
                                            boolean isDup,
                                            boolean isRetain)
        Sends the PUBLISH message to the remote MQTT server
        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
        Returns:
        current MQTT client instance
      • publishCompletionHandler

        public MqttClient publishCompletionHandler​(Handler<Integer> publishCompletionHandler)
        Sets a handler which will be called each time the publishing of a message has been completed.

        For a message that has been published using

        • QoS 0 this means that the client has successfully sent the corresponding PUBLISH packet,
        • QoS 1 this means that a corresponding PUBACK has been received from the server,
        • QoS 2 this means that a corresponding PUBCOMP has been received from the server.
        Parameters:
        publishCompletionHandler - handler called with the packetId
        Returns:
        current MQTT client instance
      • publishCompletionExpirationHandler

        public MqttClient publishCompletionExpirationHandler​(Handler<Integer> publishCompletionExpirationHandler)
        Sets a handler which will be called when the client does not receive a PUBACK or PUBREC/PUBCOMP for a message published using QoS 1 or 2 respectively.

        The time to wait for an acknowledgement message can be configured using MqttClientOptions. If the client receives a PUBACK/PUBREC/PUBCOMP for a message after its completion has expired, the handler registered using publishCompletionUnknownPacketIdHandler(io.vertx.core.Handler<java.lang.Integer>) will be invoked.

        Note that this behavior is outside the scope of the MQTT 3.1.1 specification. The client's default behavior is therefore to wait forever for the server's corresponding acknowledgement.

        Parameters:
        publishCompletionExpirationHandler - the handler to call with the ID of the expired packet
        Returns:
        current MQTT client instance
      • publishCompletionUnknownPacketIdHandler

        public MqttClient publishCompletionUnknownPacketIdHandler​(Handler<Integer> publishCompletionPhantomHandler)
        Sets a handler which will be called when the client receives a PUBACK/PUBREC/PUBCOMP with an unknown packet ID.
        Parameters:
        publishCompletionPhantomHandler - the handler to call with the unknown packet ID
        Returns:
        current MQTT client instance
      • publishHandler

        public MqttClient publishHandler​(Handler<MqttPublishMessage> publishHandler)
        Sets handler which will be called each time server publish something to client
        Parameters:
        publishHandler - handler to call
        Returns:
        current MQTT client instance
      • subscribeCompletionHandler

        public MqttClient subscribeCompletionHandler​(Handler<MqttSubAckMessage> subscribeCompletionHandler)
        Sets handler which will be called after SUBACK packet receiving
        Parameters:
        subscribeCompletionHandler - handler to call. List inside is a granted QoS array
        Returns:
        current MQTT client instance
      • subscribe

        public MqttClient subscribe​(String topic,
                                    int qos,
                                    Handler<AsyncResult<Integer>> subscribeSentHandler)
        Subscribes to the topic with a specified QoS level
        Parameters:
        topic - topic you subscribe on
        qos - QoS level
        subscribeSentHandler - handler called after SUBSCRIBE packet sent with packetid
        Returns:
        current MQTT client instance
      • subscribe

        public MqttClient subscribe​(String topic,
                                    int qos)
        Subscribes to the topic with a specified QoS level
        Parameters:
        topic - topic you subscribe on
        qos - QoS level
        Returns:
        current MQTT client instance
      • rxSubscribe

        public rx.Single<Integer> rxSubscribe​(String topic,
                                              int qos)
        Subscribes to the topic with a specified QoS level
        Parameters:
        topic - topic you subscribe on
        qos - QoS level
        Returns:
        current MQTT client instance
      • subscribe

        public MqttClient subscribe​(Map<String,​Integer> topics,
                                    Handler<AsyncResult<Integer>> subscribeSentHandler)
        Subscribes to the topic and adds a handler which will be called after the request is sent
        Parameters:
        topics - topics you subscribe on
        subscribeSentHandler - handler called after SUBSCRIBE packet sent with packetid
        Returns:
        current MQTT client instance
      • subscribe

        public MqttClient subscribe​(Map<String,​Integer> topics)
        Subscribes to the topic and adds a handler which will be called after the request is sent
        Parameters:
        topics - topics you subscribe on
        Returns:
        current MQTT client instance
      • rxSubscribe

        public rx.Single<Integer> rxSubscribe​(Map<String,​Integer> topics)
        Subscribes to the topic and adds a handler which will be called after the request is sent
        Parameters:
        topics - topics you subscribe on
        Returns:
        current MQTT client instance
      • unsubscribeCompletionHandler

        public MqttClient unsubscribeCompletionHandler​(Handler<Integer> unsubscribeCompletionHandler)
        Sets handler which will be called after UNSUBACK packet receiving
        Parameters:
        unsubscribeCompletionHandler - handler to call with the packetid
        Returns:
        current MQTT client instance
      • unsubscribe

        public MqttClient unsubscribe​(List<String> topics,
                                      Handler<AsyncResult<Integer>> unsubscribeSentHandler)
        Unsubscribe from receiving messages on given topics
        Parameters:
        topics - list of topics you want to unsubscribe from
        unsubscribeSentHandler - handler called after UNSUBSCRIBE packet sent
        Returns:
        current MQTT client instance
      • unsubscribe

        public MqttClient unsubscribe​(List<String> topics)
        Unsubscribe from receiving messages on given topics
        Parameters:
        topics - list of topics you want to unsubscribe from
        Returns:
        current MQTT client instance
      • rxUnsubscribe

        public rx.Single<Integer> rxUnsubscribe​(List<String> topics)
        Unsubscribe from receiving messages on given topics
        Parameters:
        topics - list of topics you want to unsubscribe from
        Returns:
        current MQTT client instance
      • unsubscribe

        public MqttClient unsubscribe​(String topic,
                                      Handler<AsyncResult<Integer>> unsubscribeSentHandler)
        Unsubscribe from receiving messages on given topic
        Parameters:
        topic - list of topics you want to unsubscribe from
        unsubscribeSentHandler - handler called after UNSUBSCRIBE packet sent
        Returns:
        current MQTT client instance
      • unsubscribe

        public MqttClient unsubscribe​(String topic)
        Unsubscribe from receiving messages on given topic
        Parameters:
        topic - list of topics you want to unsubscribe from
        Returns:
        current MQTT client instance
      • rxUnsubscribe

        public rx.Single<Integer> rxUnsubscribe​(String topic)
        Unsubscribe from receiving messages on given topic
        Parameters:
        topic - list of topics you want to unsubscribe from
        Returns:
        current MQTT client instance
      • pingResponseHandler

        public MqttClient pingResponseHandler​(Handler<Void> pingResponseHandler)
        Sets handler which will be called after PINGRESP packet receiving
        Parameters:
        pingResponseHandler - handler to call
        Returns:
        current MQTT client instance
      • exceptionHandler

        public MqttClient exceptionHandler​(Handler<Throwable> handler)
        Set an exception handler for the client, that will be called when an error happens in internal netty structures. io.netty.handler.codec.DecoderException can be one of the cause
        Parameters:
        handler - the exception handler
        Returns:
        current MQTT client instance
      • closeHandler

        public MqttClient closeHandler​(Handler<Void> closeHandler)
        Set a handler that will be called when the connection with server is closed
        Parameters:
        closeHandler - handler to call
        Returns:
        current MQTT client instance
      • ping

        public MqttClient ping()
        This method is needed by the client in order to avoid server closes the connection due to the keep alive timeout if client has no messages to send
        Returns:
        current MQTT client instance
      • clientId

        public String clientId()
        Returns:
        the client identifier
      • isConnected

        public boolean isConnected()
        Returns:
        if the connection between client and remote server is established/open