Ejemplo n.º 1
0
    def _build_connect_packet(self):
        vh = ConnectVariableHeader()
        payload = ConnectPayload()

        vh.keep_alive = self.session.keep_alive
        vh.clean_session_flag = self.session.clean_session
        vh.will_retain_flag = self.session.will_retain
        payload.client_id = self.session.client_id

        if self.session.username:
            vh.username_flag = True
            payload.username = self.session.username
        else:
            vh.username_flag = False

        if self.session.password:
            vh.password_flag = True
            payload.password = self.session.password
        else:
            vh.password_flag = False
        if self.session.will_flag:
            vh.will_flag = True
            vh.will_qos = self.session.will_qos
            payload.will_message = self.session.will_message
            payload.will_topic = self.session.will_topic
        else:
            vh.will_flag = False

        packet = ConnectPacket(vh=vh, payload=payload)
        return packet
Ejemplo n.º 2
0
 def test_encode(self):
     header = MQTTFixedHeader(CONNECT, 0x00, 0)
     variable_header = ConnectVariableHeader(0xce, 0, 'MQTT', 4)
     payload = ConnectPayload('0123456789', 'WillTopic', b'WillMessage',
                              'user', 'password')
     message = ConnectPacket(header, variable_header, payload)
     encoded = message.to_bytes()
     self.assertEqual(
         encoded,
         b'\x10\x3e\x00\x04MQTT\x04\xce\x00\x00\x00\x0a0123456789\x00\x09WillTopic\x00\x0bWillMessage\x00\x04user\x00\x08password'
     )
Ejemplo n.º 3
0
 def test_encode(self):
     header = MQTTFixedHeader(CONNECT, 0x00, 0)
     variable_header = ConnectVariableHeader(0xCE, 0, "MQTT", 4)
     payload = ConnectPayload(
         "0123456789", "WillTopic", b"WillMessage", "user", "password"
     )
     message = ConnectPacket(header, variable_header, payload)
     encoded = message.to_bytes()
     self.assertEqual(
         encoded,
         b"\x10\x3e\x00\x04MQTT\x04\xce\x00\x00\x00\x0a0123456789\x00\x09WillTopic\x00\x0bWillMessage\x00\x04user\x00\x08password",
     )