Class MqttEndpoint

java.lang.Object
io.vertx.reactivex.mqtt.MqttEndpoint
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate

public class MqttEndpoint extends Object implements io.vertx.lang.rx.RxDelegate
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 Details

    • __TYPE_ARG

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

    • MqttEndpoint

      public MqttEndpoint(MqttEndpoint delegate)
    • MqttEndpoint

      public MqttEndpoint(Object delegate)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public MqttEndpoint getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • 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, or null when neither username nor password information is available
    • 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()
      Like accept() with no session is present.
      Returns:
    • accept

      public MqttEndpoint accept(boolean sessionPresent)
      Sends the CONNACK message to the remote MQTT client with "connection accepted" return code. See reject(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(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
    • publishAcknowledge

      public MqttEndpoint publishAcknowledge(int publishMessageId, MqttPubAckReasonCode reasonCode, MqttProperties properties)
    • 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
    • newInstance

      public static MqttEndpoint newInstance(MqttEndpoint arg)