Default attribute values
An array of return codes, ordered by the topics that were subscribed to
Create a new Subscribe Acknowledgment packet
# File lib/mqtt/packet.rb, line 875 def initialize(args={}) super(ATTR_DEFAULTS.merge(args)) end
Get serialisation of packet's body
# File lib/mqtt/packet.rb, line 892 def encode_body if @return_codes.empty? raise "no granted QoS given when serialising packet" end body = encode_short(@id) return_codes.each { |qos| body += encode_bytes(qos) } return body end
@deprecated Please use {#return_codes} instead
# File lib/mqtt/packet.rb, line 919 def granted_qos return_codes end
@deprecated Please use {#return_codes=} instead
# File lib/mqtt/packet.rb, line 924 def granted_qos=(args) self.return_codes = args end
Returns a human readable string, summarising the properties of the packet
# File lib/mqtt/packet.rb, line 911 def inspect "\#<#{self.class}: 0x%2.2X, rc=%s>" % [id, return_codes.map{|rc| "0x%2.2X" % rc}.join(',')] end
Parse the body (variable header and payload) of a packet
# File lib/mqtt/packet.rb, line 902 def parse_body(buffer) super(buffer) @id = shift_short(buffer) while(buffer.bytesize>0) @return_codes << shift_byte(buffer) end end
Set the granted QoS value for each of the topics that were subscribed to Can either be an integer or an array or integers.
# File lib/mqtt/packet.rb, line 881 def return_codes=(value) if value.is_a?(Array) @return_codes = value elsif value.is_a?(Integer) @return_codes = [value] else raise "return_codes should be an integer or an array of return codes" end end