Sha256: 7722c7a1c7c97d53fede3c20b86d2e3c9e57e4d8ef351721082e81376d937e43
Contents?: true
Size: 872 Bytes
Versions: 1
Compression:
Stored size: 872 Bytes
Contents
require 'mqtt' module MQTTRpc class Client def initialize(options = {}, timeout = 10) @options = options @timeout = timeout end def connect MQTT::Client.connect(@options) end def ready @subscribe_connect = connect @publish_connect = connect end 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 def destroy @subscribe_connect.disconnect @publish_connect.disconnect end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mqtt_rpc-0.2.0 | lib/mqtt_rpc/client.rb |