# -*- coding: utf-8 -*-# pylint: disable=line-too-long,consider-using-f-string"""HIP Packet Types======================.. module:: pcapkit.const.hip.packetThis module contains the constant enumeration for **HIP Packet Types**,which is automatically generated from :class:`pcapkit.vendor.hip.packet.Packet`."""fromaenumimportIntEnum,extend_enum__all__=['Packet']
[docs]classPacket(IntEnum):"""[Packet] HIP Packet Types"""#: Reserved [:rfc:`7401`]Reserved_0=0#: I1 the HIP Initiator Packet [:rfc:`7401`]I1=1#: R1 the HIP Responder Packet [:rfc:`7401`]R1=2#: I2 the Second HIP Initiator Packet [:rfc:`7401`]I2=3#: R2 the Second HIP Responder Packet [:rfc:`7401`]R2=4#: UPDATE the HIP Update Packet [:rfc:`7401`]UPDATE=16#: NOTIFY the HIP Notify Packet [:rfc:`7401`]NOTIFY=17#: CLOSE the HIP Association Closing Packet [:rfc:`7401`]CLOSE=18#: CLOSE_ACK the HIP Closing Acknowledgment Packet [:rfc:`7401`]CLOSE_ACK=19#: HDRR (HIP Distributed Hash Table Resource Record) [:rfc:`6537`]HDRR=20#: HIP_DATA [:rfc:`6078`]HIP_DATA=32@staticmethoddefget(key:'int | str',default:'int'=-1)->'Packet':"""Backport support for original codes. Args: key: Key to get enum item. default: Default value if not found. :meta private: """ifisinstance(key,int):returnPacket(key)ifkeynotinPacket._member_map_:# pylint: disable=no-memberreturnextend_enum(Packet,key,default)returnPacket[key]# type: ignore[misc]
[docs]@classmethoddef_missing_(cls,value:'int')->'Packet':"""Lookup function used when value is not found. Args: value: Value to get enum item. """ifnot(isinstance(value,int)and0<=value<=127):raiseValueError('%r is not a valid %s'%(value,cls.__name__))if5<=value<=15:# Unassignedreturnextend_enum(cls,'Unassigned_%d'%value,value)if21<=value<=31:# Unassignedreturnextend_enum(cls,'Unassigned_%d'%value,value)if33<=value<=127:# Unassignedreturnextend_enum(cls,'Unassigned_%d'%value,value)returnsuper()._missing_(value)