Class: MQTT::SN::Packet::Register

Inherits:
MQTT::SN::Packet show all
Defined in:
lib/mqtt/sn/packet.rb

Constant Summary collapse

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

Instance Attribute Summary collapse

Attributes inherited from MQTT::SN::Packet

#clean_session, #duplicate, #qos, #request_will, #retain, #topic_id_type

Instance Method Summary collapse

Methods inherited from MQTT::SN::Packet

#initialize, parse, #to_s, #type_id, #update_attributes

Constructor Details

This class inherits a constructor from MQTT::SN::Packet

Instance Attribute Details

#idObject

Returns the value of attribute id.



340
341
342
# File 'lib/mqtt/sn/packet.rb', line 340

def id
  @id
end

#topic_idObject

Returns the value of attribute topic_id.



341
342
343
# File 'lib/mqtt/sn/packet.rb', line 341

def topic_id
  @topic_id
end

#topic_nameObject

Returns the value of attribute topic_name.



342
343
344
# File 'lib/mqtt/sn/packet.rb', line 342

def topic_name
  @topic_name
end

Instance Method Details

#encode_bodyObject



349
350
351
352
353
354
355
# File 'lib/mqtt/sn/packet.rb', line 349

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

  raise 'topic_id must be an Integer' unless topic_id.is_a?(Integer)

  [topic_id, id, topic_name].pack('nna*')
end

#parse_body(buffer) ⇒ Object



357
358
359
# File 'lib/mqtt/sn/packet.rb', line 357

def parse_body(buffer)
  self.topic_id, self.id, self.topic_name = buffer.unpack('nna*')
end