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.MqttClient
authenticationExchangeHandler(Handler<MqttAuthenticationExchangeMessage> authenticationExchangeHandler)
Sets handler which will be called after AUTH packet receivingString
clientId()
MqttClient
closeHandler(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 MqttClient
create(Vertx vertx)
Return an MQTT client instance using the default optionsstatic MqttClient
create(Vertx vertx, MqttClientOptions options)
Return an MQTT client instanceFuture<Void>
disconnect()
Disconnects from the MQTT serverboolean
equals(Object o)
MqttClient
exceptionHandler(Handler<Throwable> handler)
Set an exception handler for the client, that will be called when an error happens in internal netty structures.MqttClient
getDelegate()
int
hashCode()
boolean
isConnected()
static MqttClient
newInstance(MqttClient arg)
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 sendMqttClient
pingResponseHandler(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 serverMqttClient
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.MqttClient
publishCompletionHandler(Handler<Integer> publishCompletionHandler)
Sets a handler which will be called each time the publishing of a message has been completed.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.MqttClient
publishHandler(Handler<MqttPublishMessage> publishHandler)
Sets handler which will be called each time server publish something to clientCompletable
rxAuthenticationExchange(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 connectionCompletable
rxDisconnect()
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 levelsMqttClient
subscribeCompletionHandler(Handler<MqttSubAckMessage> subscribeCompletionHandler)
Sets handler which will be called after SUBACK packet receivingString
toString()
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 topicMqttClient
unsubscribeCompletionHandler(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()
-
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
Future
of the asynchronous result
-
rxDisconnect
public Completable rxDisconnect()
Disconnects from the MQTT server- Returns:
- a
Future
of 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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
Future
completed 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.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
-
newInstance
public static MqttClient newInstance(MqttClient arg)
-
-