Class: MQTT::SN::Packet::Suback

Inherits:
Packet
  • Object
show all
Defined in:
lib/mqtt/sn/packet.rb

Constant Summary collapse

DEFAULTS =
{
  qos: 0,
  id: 0x00,
  topic_id: 0x00,
  topic_id_type: :normal
}.freeze

Constants inherited from Packet

Packet::ATTR_DEFAULTS

Instance Attribute Summary collapse

Attributes inherited from Packet

#body_length, #flags, #version

Instance Method Summary collapse

Methods inherited from Packet

create_from_header, #dup, #initialize, #inspect, #message_id, #message_id=, parse, parse_header, read, read_byte, #to_s, #type_id, #type_name, #update_attributes, #validate_flags

Constructor Details

This class inherits a constructor from MQTT::Packet

Instance Attribute Details

#idObject

Returns the value of attribute id.



514
515
516
# File 'lib/mqtt/sn/packet.rb', line 514

def id
  @id
end

#return_codeObject

Returns the value of attribute return_code.



516
517
518
# File 'lib/mqtt/sn/packet.rb', line 516

def return_code
  @return_code
end

#topic_idObject

Returns the value of attribute topic_id.



515
516
517
# File 'lib/mqtt/sn/packet.rb', line 515

def topic_id
  @topic_id
end

Instance Method Details

#encode_bodyObject



525
526
527
528
529
# File 'lib/mqtt/sn/packet.rb', line 525

def encode_body
  raise "id must be an Integer" unless id.is_a?(Integer)

  [encode_flags, encode_topic_id, id, return_code].pack("CnnC")
end

#parse_body(buffer) ⇒ Object



531
532
533
534
535
# File 'lib/mqtt/sn/packet.rb', line 531

def parse_body(buffer)
  flags, topic_id, self.id, self.return_code = buffer.unpack("CnnC")
  parse_flags(flags)
  parse_topic_id(topic_id)
end