Class: MiniMqtt::Packet

Inherits:
Object
  • Object
show all
Includes:
BinHelper
Defined in:
lib/mini_mqtt/packet.rb

Constant Summary collapse

@@last_packet_id =
0
@@packet_classes =
{}

Class Method Summary collapse

Instance Method Summary collapse

Methods included from BinHelper

#flag_byte, #mqtt_utf8_encode, #read_mqtt_encoded_string, #read_ushort, #uchar, #ushort

Class Method Details

.get_packet_class(packet_type_id) ⇒ Object



28
29
30
# File 'lib/mini_mqtt/packet.rb', line 28

def self.get_packet_class packet_type_id
  @@packet_classes[packet_type_id]
end

.packet_type_idObject



24
25
26
# File 'lib/mini_mqtt/packet.rb', line 24

def self.packet_type_id
  @packet_type_id
end

Instance Method Details

#decode(stream, flags = 0) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/mini_mqtt/packet.rb', line 8

def decode stream, flags = 0
  @stream = stream
  handle_flags flags
  read_variable_header
  read_payload
  self
end

#encodeObject



16
17
18
# File 'lib/mini_mqtt/packet.rb', line 16

def encode
  build_variable_header + build_payload
end

#flagsObject



20
21
22
# File 'lib/mini_mqtt/packet.rb', line 20

def flags
  0b000
end