Package io.vertx.reactivex.mqtt
Class MqttClient
- java.lang.Object
-
- io.vertx.reactivex.mqtt.MqttClient
-
-
Field Summary
Fields Modifier and Type Field Description static io.vertx.lang.rx.TypeArg<MqttClient>__TYPE_ARG
-
Constructor Summary
Constructors Constructor Description MqttClient(MqttClient delegate)MqttClient(Object delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Future<Void>authenticationExchange(MqttAuthenticationExchangeMessage message)It is used for Enhanced Authentication and is able to carry an authentication method and authentication data.MqttClientauthenticationExchangeHandler(Handler<MqttAuthenticationExchangeMessage> authenticationExchangeHandler)Sets handler which will be called after AUTH packet receivingStringclientId()MqttClientcloseHandler(Handler<Void> closeHandler)Set a handler that will be called when the connection with server is closedFuture<MqttConnAckMessage>connect(int port, String host)Connects to an MQTT server calling connectHandler after connectionFuture<MqttConnAckMessage>connect(int port, String host, String serverName)Connects to an MQTT server calling connectHandler after connectionstatic MqttClientcreate(Vertx vertx)Return an MQTT client instance using the default optionsstatic MqttClientcreate(Vertx vertx, MqttClientOptions options)Return an MQTT client instanceFuture<Void>disconnect()Disconnects from the MQTT serverbooleanequals(Object o)MqttClientexceptionHandler(Handler<Throwable> handler)Set an exception handler for the client, that will be called when an error happens in internal netty structures.MqttClientgetDelegate()inthashCode()booleanisConnected()static MqttClientnewInstance(MqttClient arg)MqttClientping()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 sendMqttClientpingResponseHandler(Handler<Void> pingResponseHandler)Sets handler which will be called after PINGRESP packet receivingFuture<Integer>publish(String topic, Buffer payload, MqttQoS qosLevel, boolean isDup, boolean isRetain)Sends the PUBLISH message to the remote MQTT serverMqttClientpublishCompletionExpirationHandler(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.MqttClientpublishCompletionHandler(Handler<Integer> publishCompletionHandler)Sets a handler which will be called each time the publishing of a message has been completed.MqttClientpublishCompletionUnknownPacketIdHandler(Handler<Integer> publishCompletionPhantomHandler)Sets a handler which will be called when the client receives a PUBACK/PUBREC/PUBCOMP with an unknown packet ID.MqttClientpublishHandler(Handler<MqttPublishMessage> publishHandler)Sets handler which will be called each time server publish something to clientCompletablerxAuthenticationExchange(MqttAuthenticationExchangeMessage message)It is used for Enhanced Authentication and is able to carry an authentication method and authentication data.Single<MqttConnAckMessage>rxConnect(int port, String host)Connects to an MQTT server calling connectHandler after connectionSingle<MqttConnAckMessage>rxConnect(int port, String host, String serverName)Connects to an MQTT server calling connectHandler after connectionCompletablerxDisconnect()Disconnects from the MQTT serverSingle<Integer>rxPublish(String topic, Buffer payload, MqttQoS qosLevel, boolean isDup, boolean isRetain)Sends the PUBLISH message to the remote MQTT serverSingle<Integer>rxSubscribe(String topic, int qos)Subscribes to the topic with a specified QoS levelSingle<Integer>rxSubscribe(Map<String,Integer> topics)Subscribes to the topics with related QoS levelsSingle<Integer>rxUnsubscribe(String topic)Unsubscribe from receiving messages on given topicSingle<Integer>rxUnsubscribe(List<String> topics)Unsubscribe from receiving messages on given list of topicFuture<Integer>subscribe(String topic, int qos)Subscribes to the topic with a specified QoS levelFuture<Integer>subscribe(Map<String,Integer> topics)Subscribes to the topics with related QoS levelsMqttClientsubscribeCompletionHandler(Handler<MqttSubAckMessage> subscribeCompletionHandler)Sets handler which will be called after SUBACK packet receivingStringtoString()Future<Integer>unsubscribe(String topic)Unsubscribe from receiving messages on given topicFuture<Integer>unsubscribe(List<String> topics)Unsubscribe from receiving messages on given list of topicMqttClientunsubscribeCompletionHandler(Handler<Integer> unsubscribeCompletionHandler)Sets handler which will be called after UNSUBACK packet receiving
-
-
-
Field Detail
-
__TYPE_ARG
public static final io.vertx.lang.rx.TypeArg<MqttClient> __TYPE_ARG
-
-
Constructor Detail
-
MqttClient
public MqttClient(MqttClient delegate)
-
MqttClient
public MqttClient(Object delegate)
-
-
Method Detail
-
getDelegate
public MqttClient getDelegate()
- Specified by:
getDelegatein interfaceio.vertx.lang.rx.RxDelegate
-
create
public static MqttClient create(Vertx vertx, MqttClientOptions options)
Return an MQTT client instance- Parameters:
vertx- Vert.x instanceoptions- 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 Future<MqttConnAckMessage> connect(int port, String host)
Connects to an MQTT server calling connectHandler after connection- Parameters:
port- port of the MQTT serverhost- hostname/ip address of the MQTT server- Returns:
- a future notified when the connect call ends
-
rxConnect
public Single<MqttConnAckMessage> rxConnect(int port, String host)
Connects to an MQTT server calling connectHandler after connection- Parameters:
port- port of the MQTT serverhost- hostname/ip address of the MQTT server- Returns:
- a future notified when the connect call ends
-
connect
public Future<MqttConnAckMessage> connect(int port, String host, String serverName)
Connects to an MQTT server calling connectHandler after connection- Parameters:
port- port of the MQTT serverhost- hostname/ip address of the MQTT serverserverName- the SNI server name- Returns:
- a future notified when the connect call ends
-
rxConnect
public Single<MqttConnAckMessage> rxConnect(int port, String host, String serverName)
Connects to an MQTT server calling connectHandler after connection- Parameters:
port- port of the MQTT serverhost- hostname/ip address of the MQTT serverserverName- the SNI server name- Returns:
- a future notified when the connect call ends
-
disconnect
public Future<Void> disconnect()
Disconnects from the MQTT server- Returns:
- a
Futureof the asynchronous result
-
rxDisconnect
public Completable rxDisconnect()
Disconnects from the MQTT server- Returns:
- a
Futureof the asynchronous result
-
publish
public Future<Integer> publish(String topic, Buffer payload, MqttQoS qosLevel, boolean isDup, boolean isRetain)
Sends the PUBLISH message to the remote MQTT server- Parameters:
topic- topic on which the message is publishedpayload- message payloadqosLevel- QoS levelisDup- if the message is a duplicateisRetain- if the message needs to be retained- Returns:
- a
Futurecompleted after PUBLISH packet sent with packetid (not when QoS 0)
-
rxPublish
public Single<Integer> rxPublish(String topic, Buffer payload, MqttQoS qosLevel, boolean isDup, boolean isRetain)
Sends the PUBLISH message to the remote MQTT server- Parameters:
topic- topic on which the message is publishedpayload- message payloadqosLevel- QoS levelisDup- if the message is a duplicateisRetain- if the message needs to be retained- Returns:
- a
Futurecompleted after PUBLISH packet sent with packetid (not when QoS 0)
-
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 usingpublishCompletionUnknownPacketIdHandler(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 Future<Integer> subscribe(String topic, int qos)
Subscribes to the topic with a specified QoS level- Parameters:
topic- topic you subscribe onqos- QoS level- Returns:
- a
Futurecompleted after SUBSCRIBE packet sent with packetid
-
rxSubscribe
public Single<Integer> rxSubscribe(String topic, int qos)
Subscribes to the topic with a specified QoS level- Parameters:
topic- topic you subscribe onqos- QoS level- Returns:
- a
Futurecompleted after SUBSCRIBE packet sent with packetid
-
subscribe
public Future<Integer> subscribe(Map<String,Integer> topics)
Subscribes to the topics with related QoS levels- Parameters:
topics- topics and related QoS levels to subscribe to- Returns:
- a
Futurecompleted after SUBSCRIBE packet sent with packetid
-
rxSubscribe
public Single<Integer> rxSubscribe(Map<String,Integer> topics)
Subscribes to the topics with related QoS levels- Parameters:
topics- topics and related QoS levels to subscribe to- Returns:
- a
Futurecompleted after SUBSCRIBE packet sent with packetid
-
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 Future<Integer> unsubscribe(String topic)
Unsubscribe from receiving messages on given topic- Parameters:
topic- Topic you want to unsubscribe from- Returns:
- a
Futurecompleted after UNSUBSCRIBE packet sent with packetid
-
rxUnsubscribe
public Single<Integer> rxUnsubscribe(String topic)
Unsubscribe from receiving messages on given topic- Parameters:
topic- Topic you want to unsubscribe from- Returns:
- a
Futurecompleted after UNSUBSCRIBE packet sent with packetid
-
unsubscribe
public Future<Integer> unsubscribe(List<String> topics)
Unsubscribe from receiving messages on given list of topic- Parameters:
topics- list of topics you want to unsubscribe from- Returns:
- a
Futurecompleted after UNSUBSCRIBE packet sent with packetid
-
rxUnsubscribe
public Single<Integer> rxUnsubscribe(List<String> topics)
Unsubscribe from receiving messages on given list of topic- Parameters:
topics- list of topics you want to unsubscribe from- Returns:
- a
Futurecompleted after UNSUBSCRIBE packet sent with packetid
-
authenticationExchangeHandler
public MqttClient authenticationExchangeHandler(Handler<MqttAuthenticationExchangeMessage> authenticationExchangeHandler)
Sets handler which will be called after AUTH packet receiving- Parameters:
authenticationExchangeHandler- handler to call- Returns:
- current MQTT client instance
-
authenticationExchange
public Future<Void> authenticationExchange(MqttAuthenticationExchangeMessage message)
It is used for Enhanced Authentication and is able to carry an authentication method and authentication data.- Parameters:
message- authentication exchange message- Returns:
- a
Futurecompleted after AUTH packet sent
-
rxAuthenticationExchange
public Completable rxAuthenticationExchange(MqttAuthenticationExchangeMessage message)
It is used for Enhanced Authentication and is able to carry an authentication method and authentication data.- Parameters:
message- authentication exchange message- Returns:
- a
Futurecompleted after AUTH packet sent
-
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.DecoderExceptioncan 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
-
newInstance
public static MqttClient newInstance(MqttClient arg)
-
-