class AwsIotDevice::MqttAdapter::Client
Attributes
@adapter contains the name of the adapter that should be module as a third party librairy The method call by the shared client are implemented by the third party or the adapter module itself. @adapter default value is MqttShareLib::Adapters::RubyMqttAdapter
Public Class Methods
On a MqttAdapter's create, the client adapter is set as the previously define module adapter The client is then initialize with the client type of the third librairy of the adapter. @client default type is MQTT::Client
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 19 def initialize(*args) @adapter = MqttAdapter.adapter.new(*args) end
Public Instance Methods
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 106 def add_callback_filter_topic(topic, callback=nil, &block) @adapter.add_callback_filter_topic(topic, callback, &block) end
The following method represent the basics common MQTT actions. As possible, they should be implemented in the third party librairy If not, the adpater should implement them or throw and excpetion
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 30 def connect(*args, &block) @adapter.connect(*args, &block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 82 def connected? @adapter.connected? end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 78 def disconnect(send_msg=true) @adapter.disconnect(send_msg) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 74 def generate_client_id @adapter.generate_client_id end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 66 def get(topic=nil, &block) @adapter.get(topic, &block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 70 def get_packet(topic=nil, &block) @adapter.get_packet(topic, &block) end
The following attributes should exists in every MQTT third party librairy. They are necessary (or really usefull and common) for the establishement of the connection and/or the basic Mqtt actions. The setter directely change the third party client value when the getter remote the actual SharedClient instance's attribute value
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 181 def host @adapter.host end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 185 def host=(host) @adapter.host = host end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 46 def loop_forever @adapter.loop_forever end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 62 def loop_misc @adapter.loop_misc end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 54 def loop_read @adapter.loop_read end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 38 def loop_start @thread = @adapter.loop_start end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 42 def loop_stop @adapter.loop_stop(@thread) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 58 def loop_write @adapter.loop_write end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 50 def mqtt_loop @adapter.mqtt_loop end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 146 def on_connack(&block) @adapter.on_connack(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 114 def on_connack=(callback) @adapter.on_connack = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 174 def on_message(&block) @adapter.on_message(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 142 def on_message=(callback) @adapter.on_message = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 158 def on_puback(&block) @adapter.on_puback(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 126 def on_puback=(callback) @adapter.on_puback = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 170 def on_pubcomp(&block) @adapter.on_pubcomp(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 138 def on_pubcomp=(callback) @adapter.on_pubcomp = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 162 def on_pubrec(&block) @adapter.on_pubrec(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 130 def on_pubrec=(callback) @adapter.on_pubrec = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 166 def on_pubrel(&block) @adapter.on_pubrel(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 134 def on_pubrel=(callback) @adapter.on_pubrel = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 150 def on_suback(&block) @adapter.on_suback(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 118 def on_suback=(callback) @adapter.on_suback = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 154 def on_unsuback(&block) @adapter.on_unsuback(&block) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 122 def on_unsuback=(callback) @adapter.on_unsuback = callback end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 189 def port @adapter.port end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 193 def port=(port) @adapter.port = port end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 34 def publish(topic, payload='', retain=false, qos=0) @adapter.publish(topic, payload, retain, qos) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 110 def remove_callback_filter_topic(topic) @adapter.remove_callback_filter_topic(topic) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 102 def set_tls_ssl_context(ca_cert, cert=nil, key=nil) @adapter.set_tls_ssl_context(ca_cert, cert, key) end
Boolean for the encrypted mode (true = ssl/tls | false = no encryption)
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 198 def ssl @adapter.ssl end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 202 def ssl=(ssl) @adapter.ssl = ssl end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 86 def subscribe(topic, qos) @adapter.subscribe(topic, qos) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 90 def subscribe_bunch(*topics) @adapter.subscribe_bunch(topics) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 94 def unsubscribe(topic) @adapter.unsubscribe(topic) end
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 98 def unsubscribe_bunch(*topics) @adapter.unsubscribe_bunch(topics) end