kopia lustrzana https://github.com/Yakifo/amqtt
				
				
				
			Add missing packet types
							rodzic
							
								
									d43ffdce27
								
							
						
					
					
						commit
						30639d40c9
					
				| 
						 | 
				
			
			@ -1,12 +1,43 @@
 | 
			
		|||
# Copyright (c) 2015 Nicolas JOUANIN
 | 
			
		||||
#
 | 
			
		||||
# See the file license.txt for copying permission.
 | 
			
		||||
from hbmqtt.errors import HBMQTTException
 | 
			
		||||
from hbmqtt.mqtt.packet import MQTTFixedHeader, MQTTPacket, PacketType
 | 
			
		||||
from hbmqtt.mqtt.connect import ConnectPacket
 | 
			
		||||
from hbmqtt.mqtt.connack import ConnackPacket
 | 
			
		||||
from hbmqtt.mqtt.disconnect import DisconnectPacket
 | 
			
		||||
from hbmqtt.mqtt.pingreq import PingReqPacket
 | 
			
		||||
from hbmqtt.mqtt.pingresp import PingRespPacket
 | 
			
		||||
from hbmqtt.mqtt.publish import PublishPacket
 | 
			
		||||
from hbmqtt.mqtt.puback import PubackPacket
 | 
			
		||||
from hbmqtt.mqtt.pubrec import PubrecPacket
 | 
			
		||||
from hbmqtt.mqtt.pubrel import PubrelPacket
 | 
			
		||||
from hbmqtt.mqtt.pubcomp import PubcompPacket
 | 
			
		||||
from hbmqtt.mqtt.subscribe import SubscribePacket
 | 
			
		||||
from hbmqtt.mqtt.suback import SubackPacket
 | 
			
		||||
from hbmqtt.mqtt.unsubscribe import UnsubscribePacket
 | 
			
		||||
from hbmqtt.mqtt.unsuback import UnsubackPacket
 | 
			
		||||
 | 
			
		||||
packet_dict = {
 | 
			
		||||
    PacketType.CONNECT: ConnectPacket,
 | 
			
		||||
    PacketType.CONNACK: ConnackPacket,
 | 
			
		||||
    PacketType.PUBLISH: PublishPacket,
 | 
			
		||||
    PacketType.PUBACK: PubackPacket,
 | 
			
		||||
    PacketType.PUBREC: PubrecPacket,
 | 
			
		||||
    PacketType.PUBREL: PubrelPacket,
 | 
			
		||||
    PacketType.PUBCOMP: PubcompPacket,
 | 
			
		||||
    PacketType.SUBSCRIBE: SubscribePacket,
 | 
			
		||||
    PacketType.SUBACK: SubackPacket,
 | 
			
		||||
    PacketType.UNSUBSCRIBE: UnsubscribePacket,
 | 
			
		||||
    PacketType.UNSUBACK: UnsubackPacket,
 | 
			
		||||
    PacketType.PINGREQ: PingReqPacket,
 | 
			
		||||
    PacketType.PINGRESP: PingRespPacket,
 | 
			
		||||
    PacketType.DISCONNECT: DisconnectPacket
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
def packet_class(fixed_header: MQTTFixedHeader):
 | 
			
		||||
    if fixed_header.packet_type == PacketType.CONNECT:
 | 
			
		||||
        return ConnectPacket
 | 
			
		||||
    if fixed_header.packet_type == PacketType.CONNACK:
 | 
			
		||||
        return ConnackPacket
 | 
			
		||||
    try:
 | 
			
		||||
        cls = packet_dict[fixed_header.packet_type]
 | 
			
		||||
        return cls
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        raise HBMQTTException("Unexpected packet Type '%s'" % fixed_header.packet_type)
 | 
			
		||||
		Ładowanie…
	
		Reference in New Issue