Class: VertxMqtt::MqttClient

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb

Overview

An MQTT client

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


24
25
26
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 24

def @@j_api_type.accept?(obj)
  obj.class == MqttClient
end

+ (::VertxMqtt::MqttClient) create(vertx) + (::VertxMqtt::MqttClient) create(vertx, options)

Return an MQTT client instance

Overloads:

Returns:



264
265
266
267
268
269
270
271
272
273
274
275
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 264

def self.create(*args)
  if args[0].class.method_defined?(:j_del) && !block_given? && args[1] == nil
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxMqtt::MqttClient.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(args[0].j_del),::VertxMqtt::MqttClient)
  elsif args[0].class.method_defined?(:j_del) && args[1].class == Hash && !block_given?
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxMqtt::MqttClient.java_method(:create, [Java::IoVertxCore::Vertx.java_class,Java::IoVertxMqtt::MqttClientOptions.java_class]).call(args[0].j_del,Java::IoVertxMqtt::MqttClientOptions.new(::Vertx::Util::Utils.to_json_object(args[1]))),::VertxMqtt::MqttClient)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling create(#{args[0]},#{args[1]})"
  end
end

+ (Object) j_api_type



33
34
35
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 33

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



36
37
38
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 36

def self.j_class
  Java::IoVertxMqtt::MqttClient.java_class
end

+ (Object) unwrap(obj)



30
31
32
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 30

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)



27
28
29
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 27

def @@j_api_type.wrap(obj)
  MqttClient.new(obj)
end

Instance Method Details

- (String) clientId

Returns the client identifier

Returns:

  • (String)
    the client identifier


62
63
64
65
66
67
68
69
70
71
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 62

def client_id
  if !block_given?
    return @j_del.java_method(:clientId, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling client_id()"
  end
end

- (self) closeHandler(closeHandler) { ... }

Set a handler that will be called when the connection with server is closed

Yields:

  • handler to call

Returns:

  • (self)


153
154
155
156
157
158
159
160
161
162
163
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 153

def close_handler
  if true
    @j_del.java_method(:closeHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(nil) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling close_handler()"
  end
end

- (self) connect(port, host, connectHandler) { ... } - (self) connect(port, host, serverName, connectHandler) { ... }

Connects to an MQTT server calling connectHandler after connection

Overloads:

  • - (self) connect(port, host, connectHandler) { ... }

    Parameters:

    • port (Fixnum)
      port of the MQTT server
    • host (String)
      hostname/ip address of the MQTT server

    Yields:

    • handler called when the asynchronous connect call ends
  • - (self) connect(port, host, serverName, connectHandler) { ... }

    Parameters:

    • port (Fixnum)
      port of the MQTT server
    • host (String)
      hostname/ip address of the MQTT server
    • serverName (String)
      the SNI server name

    Yields:

    • handler called when the asynchronous connect call ends

Returns:

  • (self)


320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 320

def connect(*args)
  if args[0].class == Fixnum && args[1].class == String && true && args[2] == nil
    if (block_given?)
      @j_del.java_method(:connect, [Java::int.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxMqtt::MqttConnAckMessage) : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:connect, [Java::int.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxMqtt::MqttConnAckMessage) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxMqtt::MqttConnAckMessage.j_api_type)
    end
  elsif args[0].class == Fixnum && args[1].class == String && args[2].class == String && true
    if (block_given?)
      @j_del.java_method(:connect, [Java::int.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],args[2],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxMqtt::MqttConnAckMessage) : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:connect, [Java::int.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],args[2],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::VertxMqtt::MqttConnAckMessage) : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::VertxMqtt::MqttConnAckMessage.j_api_type)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling connect(#{args[0]},#{args[1]},#{args[2]})"
  end
end

- (true, false) isConnected

Returns if the connection between client and remote server is established/open

Returns:

  • (true, false)
    if the connection between client and remote server is established/open


139
140
141
142
143
144
145
146
147
148
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 139

def connected?
  if !block_given?
    return @j_del.java_method(:isConnected, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling connected?()"
  end
end

- (self) disconnect(disconnectHandler) { ... }

Disconnects from the MQTT server calling disconnectHandler after disconnection

Yields:

  • handler called when asynchronous disconnect call ends

Returns:

  • (self)


43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 43

def disconnect
  if true
    if (block_given?)
      @j_del.java_method(:disconnect, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:disconnect, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling disconnect()"
  end
end

- (self) exceptionHandler(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

Yields:

  • the exception handler

Returns:

  • (self)


298
299
300
301
302
303
304
305
306
307
308
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 298

def exception_handler
  if true
    @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling exception_handler()"
  end
end

- (self) 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:

  • (self)


111
112
113
114
115
116
117
118
119
120
121
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 111

def ping
  if !block_given?
    @j_del.java_method(:ping, []).call()
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling ping()"
  end
end

- (self) pingResponseHandler(pingResponseHandler) { ... }

Sets handler which will be called after PINGRESP packet receiving

Yields:

  • handler to call

Returns:

  • (self)


168
169
170
171
172
173
174
175
176
177
178
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 168

def ping_response_handler
  if true
    @j_del.java_method(:pingResponseHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(nil) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling ping_response_handler()"
  end
end

- (self) publish(topic, payload, qosLevel, isDup, isRetain, publishSentHandler) { ... }

Sends the PUBLISH message to the remote MQTT server

Parameters:

  • topic (String)
    topic on which the message is published
  • payload (::Vertx::Buffer)
    message payload
  • qosLevel (:AT_MOST_ONCE, :AT_LEAST_ONCE, :EXACTLY_ONCE, :FAILURE)
    QoS level
  • isDup (true, false)
    if the message is a duplicate
  • isRetain (true, false)
    if the message needs to be retained

Yields:

  • handler called after PUBLISH packet sent with packetid (not when QoS 0)

Returns:

  • (self)


225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 225

def publish(*args)
  if args[0].class == String && args[1].class.method_defined?(:j_del) && args[2].class == Symbol && (args[3].class == TrueClass || args[3].class == FalseClass) && (args[4].class == TrueClass || args[4].class == FalseClass) && true
    if (block_given?)
      @j_del.java_method(:publish, [Java::java.lang.String.java_class,Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoNettyHandlerCodecMqtt::MqttQoS.java_class,Java::boolean.java_class,Java::boolean.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1].j_del,Java::IoNettyHandlerCodecMqtt::MqttQoS.valueOf(args[2].to_s),args[3],args[4],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:publish, [Java::java.lang.String.java_class,Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoNettyHandlerCodecMqtt::MqttQoS.java_class,Java::boolean.java_class,Java::boolean.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1].j_del,Java::IoNettyHandlerCodecMqtt::MqttQoS.valueOf(args[2].to_s),args[3],args[4],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling publish(#{args[0]},#{args[1]},#{args[2]},#{args[3]},#{args[4]})"
  end
end

- (self) publishCompletionHandler(publishCompletionHandler) { ... }

Sets handler which will be called each time publish is completed

Yields:

  • handler called with the packetId

Returns:

  • (self)


126
127
128
129
130
131
132
133
134
135
136
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 126

def publish_completion_handler
  if true
    @j_del.java_method(:publishCompletionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling publish_completion_handler()"
  end
end

- (self) publishHandler(publishHandler) { ... }

Sets handler which will be called each time server publish something to client

Yields:

  • handler to call

Returns:

  • (self)


246
247
248
249
250
251
252
253
254
255
256
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 246

def publish_handler
  if true
    @j_del.java_method(:publishHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxMqtt::MqttPublishMessage)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling publish_handler()"
  end
end

- (self) subscribe(topics, subscribeSentHandler) { ... } - (self) subscribe(topic, qos, subscribeSentHandler) { ... }

Subscribes to the topic with a specified QoS level

Overloads:

  • - (self) subscribe(topics, subscribeSentHandler) { ... }

    Parameters:

    • topics (Hash{String => Fixnum})
      topics you subscribe on

    Yields:

    • handler called after SUBSCRIBE packet sent with packetid
  • - (self) subscribe(topic, qos, subscribeSentHandler) { ... }

    Parameters:

    • topic (String)
      topic you subscribe on
    • qos (Fixnum)
      QoS level

    Yields:

    • handler called after SUBSCRIBE packet sent with packetid

Returns:

  • (self)


81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 81

def subscribe(*args)
  if args[0].class == Hash && true && args[1] == nil
    if (block_given?)
      @j_del.java_method(:subscribe, [Java::JavaUtil::Map.java_class,Java::IoVertxCore::Handler.java_class]).call(Hash[args[0].map { |k,v| [k,::Vertx::Util::Utils.to_integer(v)] }],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:subscribe, [Java::JavaUtil::Map.java_class,Java::IoVertxCore::Handler.java_class]).call(Hash[args[0].map { |k,v| [k,::Vertx::Util::Utils.to_integer(v)] }],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  elsif args[0].class == String && args[1].class == Fixnum && true
    if (block_given?)
      @j_del.java_method(:subscribe, [Java::java.lang.String.java_class,Java::int.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:subscribe, [Java::java.lang.String.java_class,Java::int.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling subscribe(#{args[0]},#{args[1]})"
  end
end

- (self) subscribeCompletionHandler(subscribeCompletionHandler) { ... }

Sets handler which will be called after SUBACK packet receiving

Yields:

  • handler to call. List inside is a granted QoS array

Returns:

  • (self)


183
184
185
186
187
188
189
190
191
192
193
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 183

def subscribe_completion_handler
  if true
    @j_del.java_method(:subscribeCompletionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxMqtt::MqttSubAckMessage)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling subscribe_completion_handler()"
  end
end

- (self) unsubscribe(topic, unsubscribeSentHandler) { ... }

Unsubscribe from receiving messages on given topic

Parameters:

  • topic (String)
    Topic you want to unsubscribe from

Yields:

  • handler called after UNSUBSCRIBE packet sent

Returns:

  • (self)


199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 199

def unsubscribe(*args)
  if args[0].class == String && true
    if (block_given?)
      @j_del.java_method(:unsubscribe, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:unsubscribe, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling unsubscribe(#{args[0]})"
  end
end

- (self) unsubscribeCompletionHandler(unsubscribeCompletionHandler) { ... }

Sets handler which will be called after UNSUBACK packet receiving

Yields:

  • handler to call with the packetid

Returns:

  • (self)


280
281
282
283
284
285
286
287
288
289
290
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-mqtt/mqtt_client.rb', line 280

def unsubscribe_completion_handler
  if true
    @j_del.java_method(:unsubscribeCompletionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling unsubscribe_completion_handler()"
  end
end