class MQTTRpc::Client
Public Class Methods
new(options = {}, timeout = 10)
click to toggle source
# File lib/mqtt_rpc/client.rb, line 5 def initialize(options = {}, timeout = 10) @options = options @timeout = timeout end
Public Instance Methods
publish(publish_topic, message, subscribe_topic)
click to toggle source
# File lib/mqtt_rpc/client.rb, line 10 def publish(publish_topic, message, subscribe_topic) ready @subscribe_connect.subscribe(subscribe_topic) @publish_connect.publish(publish_topic, message) begin Timeout.timeout(@timeout) do @subscribe_connect.get do |_topic, payload| @payload = payload break end end rescue raise TimeoutException ensure destroy end @payload end
Private Instance Methods
connect()
click to toggle source
# File lib/mqtt_rpc/client.rb, line 33 def connect MQTT::Client.connect(@options) end
destroy()
click to toggle source
# File lib/mqtt_rpc/client.rb, line 42 def destroy @subscribe_connect.disconnect @publish_connect.disconnect end
ready()
click to toggle source
# File lib/mqtt_rpc/client.rb, line 37 def ready @subscribe_connect = connect @publish_connect = connect end