class AwsIotDevice::MqttAdapter::Client

Attributes

adapter[RW]

@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

client_id[R]

Public Class Methods

new(*args) click to toggle source

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

add_callback_filter_topic(topic, callback=nil, &block) click to toggle source
# 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
connect(*args, &block) click to toggle source

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
connected?() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 82
def connected?
  @adapter.connected?
end
disconnect(send_msg=true) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 78
def disconnect(send_msg=true)
  @adapter.disconnect(send_msg)
end
generate_client_id() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 74
def generate_client_id
  @adapter.generate_client_id
end
get(topic=nil, &block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 66
def get(topic=nil, &block)
  @adapter.get(topic, &block)
end
get_packet(topic=nil, &block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 70
def get_packet(topic=nil, &block)
  @adapter.get_packet(topic, &block)
end
host() click to toggle source

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
host=(host) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 185
def host=(host)
  @adapter.host = host
end
loop_forever() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 46
def loop_forever
  @adapter.loop_forever
end
loop_misc() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 62
def loop_misc
  @adapter.loop_misc
end
loop_read() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 54
def loop_read
  @adapter.loop_read
end
loop_start() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 38
def loop_start
  @thread = @adapter.loop_start
end
loop_stop() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 42
def loop_stop
  @adapter.loop_stop(@thread)
end
loop_write() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 58
def loop_write
  @adapter.loop_write
end
mqtt_loop() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 50
def mqtt_loop
  @adapter.mqtt_loop
end
on_connack(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 146
def on_connack(&block)
  @adapter.on_connack(&block)
end
on_connack=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 114
def on_connack=(callback)
  @adapter.on_connack = callback
end
on_message(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 174
def on_message(&block)
  @adapter.on_message(&block)
end
on_message=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 142
def on_message=(callback)
  @adapter.on_message = callback
end
on_puback(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 158
def on_puback(&block)
  @adapter.on_puback(&block)
end
on_puback=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 126
def on_puback=(callback)
  @adapter.on_puback = callback
end
on_pubcomp(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 170
def on_pubcomp(&block)
  @adapter.on_pubcomp(&block)
end
on_pubcomp=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 138
def on_pubcomp=(callback)
  @adapter.on_pubcomp = callback
end
on_pubrec(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 162
def on_pubrec(&block)
  @adapter.on_pubrec(&block)
end
on_pubrec=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 130
def on_pubrec=(callback)
  @adapter.on_pubrec = callback
end
on_pubrel(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 166
def on_pubrel(&block)
  @adapter.on_pubrel(&block)
end
on_pubrel=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 134
def on_pubrel=(callback)
  @adapter.on_pubrel = callback
end
on_suback(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 150
def on_suback(&block)
  @adapter.on_suback(&block)
end
on_suback=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 118
def on_suback=(callback)
  @adapter.on_suback = callback
end
on_unsuback(&block) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 154
def on_unsuback(&block)
  @adapter.on_unsuback(&block)
end
on_unsuback=(callback) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 122
def on_unsuback=(callback)
  @adapter.on_unsuback = callback
end
port() click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 189
def port
  @adapter.port
end
port=(port) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 193
def port=(port)
  @adapter.port = port
end
publish(topic, payload='', retain=false, qos=0) click to toggle source
# 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
remove_callback_filter_topic(topic) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 110
def remove_callback_filter_topic(topic)
  @adapter.remove_callback_filter_topic(topic)
end
set_tls_ssl_context(ca_cert, cert=nil, key=nil) click to toggle source
# 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
ssl() click to toggle source

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
ssl=(ssl) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 202
def ssl=(ssl)
  @adapter.ssl = ssl
end
subscribe(topic, qos) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 86
def subscribe(topic, qos)
  @adapter.subscribe(topic, qos)
end
subscribe_bunch(*topics) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 90
def subscribe_bunch(*topics)
  @adapter.subscribe_bunch(topics)
end
unsubscribe(topic) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 94
def unsubscribe(topic)
  @adapter.unsubscribe(topic)
end
unsubscribe_bunch(*topics) click to toggle source
# File lib/aws_iot_device/mqtt_adapter/client.rb, line 98
def unsubscribe_bunch(*topics)
  @adapter.unsubscribe_bunch(topics)
end