Class: MiniMqtt::SubscribePacket
- Defined in:
- lib/mini_mqtt/subscribe_packet.rb
Instance Attribute Summary collapse
-
#packet_id ⇒ Object
Returns the value of attribute packet_id.
-
#topics ⇒ Object
Returns the value of attribute topics.
Instance Method Summary collapse
- #build_payload ⇒ Object
- #build_variable_header ⇒ Object
- #flags ⇒ Object
-
#initialize(params = {}) ⇒ SubscribePacket
constructor
A new instance of SubscribePacket.
Methods inherited from Packet
#decode, #encode, get_packet_class, packet_type_id
Methods included from BinHelper
#flag_byte, #mqtt_utf8_encode, #read_mqtt_encoded_string, #read_ushort, #uchar, #ushort
Constructor Details
#initialize(params = {}) ⇒ SubscribePacket
Returns a new instance of SubscribePacket.
6 7 8 |
# File 'lib/mini_mqtt/subscribe_packet.rb', line 6 def initialize params = {} @topics = params[:topics] end |
Instance Attribute Details
#packet_id ⇒ Object
Returns the value of attribute packet_id.
3 4 5 |
# File 'lib/mini_mqtt/subscribe_packet.rb', line 3 def packet_id @packet_id end |
#topics ⇒ Object
Returns the value of attribute topics.
3 4 5 |
# File 'lib/mini_mqtt/subscribe_packet.rb', line 3 def topics @topics end |
Instance Method Details
#build_payload ⇒ Object
19 20 21 22 23 |
# File 'lib/mini_mqtt/subscribe_packet.rb', line 19 def build_payload @topics.map do |topic, qos| mqtt_utf8_encode(topic) + uchar(qos) end.join end |
#build_variable_header ⇒ Object
14 15 16 17 |
# File 'lib/mini_mqtt/subscribe_packet.rb', line 14 def build_variable_header @packet_id ||= new_packet_id ushort @packet_id end |
#flags ⇒ Object
10 11 12 |
# File 'lib/mini_mqtt/subscribe_packet.rb', line 10 def flags 0b0010 end |