# -*- coding: utf-8 -*-# pylint: disable=line-too-long,consider-using-f-string"""Registration Types========================.. module:: pcapkit.const.hip.registrationThis module contains the constant enumeration for **Registration Types**,which is automatically generated from :class:`pcapkit.vendor.hip.registration.Registration`."""fromaenumimportIntEnum,extend_enum__all__=['Registration']
[docs]classRegistration(IntEnum):"""[Registration] Registration Types"""#: UnassignedUnassigned_0=0#: RENDEZVOUS [:rfc:`8004`]RENDEZVOUS=1#: RELAY_UDP_HIP [:rfc:`5770`]RELAY_UDP_HIP=2#: RELAY_UDP_ESP [:rfc:`9028`]RELAY_UDP_ESP=3#: CANDIDATE_DISCOVERY [:rfc:`9028`]CANDIDATE_DISCOVERY=4@staticmethoddefget(key:'int | str',default:'int'=-1)->'Registration':"""Backport support for original codes. Args: key: Key to get enum item. default: Default value if not found. :meta private: """ifisinstance(key,int):returnRegistration(key)ifkeynotinRegistration._member_map_:# pylint: disable=no-memberreturnextend_enum(Registration,key,default)returnRegistration[key]# type: ignore[misc]
[docs]@classmethoddef_missing_(cls,value:'int')->'Registration':"""Lookup function used when value is not found. Args: value: Value to get enum item. """ifnot(isinstance(value,int)and0<=value<=255):raiseValueError('%r is not a valid %s'%(value,cls.__name__))if5<=value<=200:#: Unassignedreturnextend_enum(cls,'Unassigned_%d'%value,value)if201<=value<=255:#: Reserved for Private Use [:rfc:`8003`]returnextend_enum(cls,'Reserved_for_Private_Use_%d'%value,value)returnsuper()._missing_(value)