Source code for pcapkit.const.hip.notify_message
# -*- coding: utf-8 -*-
# pylint: disable=line-too-long,consider-using-f-string
"""Notify Message Types
==========================
.. module:: pcapkit.const.hip.notify_message
This module contains the constant enumeration for **Notify Message Types**,
which is automatically generated from :class:`pcapkit.vendor.hip.notify_message.NotifyMessage`.
"""
from typing import TYPE_CHECKING
from aenum import IntEnum
from pcapkit.corekit.enum import EnumRegistry
from pcapkit.utilities.exceptions import EnumValueError
if TYPE_CHECKING:
from typing import Any
__all__ = ['NotifyMessage']
[docs]
class NotifyMessage(EnumRegistry, IntEnum):
"""[NotifyMessage] Notify Message Types"""
#: Reserved [:rfc:`7401`]
Reserved_0 = 0
#: UNSUPPORTED_CRITICAL_PARAMETER_TYPE [:rfc:`7401`]
UNSUPPORTED_CRITICAL_PARAMETER_TYPE = 1
#: INVALID_SYNTAX [:rfc:`7401`]
INVALID_SYNTAX = 7
#: NO_DH_PROPOSAL_CHOSEN [:rfc:`7401`]
NO_DH_PROPOSAL_CHOSEN = 14
#: INVALID_DH_CHOSEN [:rfc:`7401`]
INVALID_DH_CHOSEN = 15
#: NO_HIP_PROPOSAL_CHOSEN [:rfc:`7401`]
NO_HIP_PROPOSAL_CHOSEN = 16
#: INVALID_HIP_CIPHER_CHOSEN [:rfc:`7401`]
INVALID_HIP_CIPHER_CHOSEN = 17
#: NO_ESP_PROPOSAL_CHOSEN [:rfc:`7402`]
NO_ESP_PROPOSAL_CHOSEN = 18
#: INVALID_ESP_TRANSFORM_CHOSEN [:rfc:`7402`]
INVALID_ESP_TRANSFORM_CHOSEN = 19
#: UNSUPPORTED_HIT_SUITE [:rfc:`7401`]
UNSUPPORTED_HIT_SUITE = 20
#: AUTHENTICATION_FAILED [:rfc:`7401`]
AUTHENTICATION_FAILED = 24
#: Unassigned
Unassigned_25 = 25
#: CHECKSUM_FAILED [:rfc:`7401`]
CHECKSUM_FAILED = 26
#: Unassigned
Unassigned_27 = 27
#: HIP_MAC_FAILED [:rfc:`7401`]
HIP_MAC_FAILED = 28
#: ENCRYPTION_FAILED [:rfc:`7401`]
ENCRYPTION_FAILED = 32
#: INVALID_HIT [:rfc:`7401`]
INVALID_HIT = 40
#: Unassigned
Unassigned_41 = 41
#: BLOCKED_BY_POLICY [:rfc:`7401`]
BLOCKED_BY_POLICY = 42
#: Unassigned
Unassigned_43 = 43
#: RESPONDER_BUSY_PLEASE_RETRY [:rfc:`7401`]
RESPONDER_BUSY_PLEASE_RETRY = 44
#: Unassigned
Unassigned_45 = 45
#: LOCATOR_TYPE_UNSUPPORTED [:rfc:`8046`]
LOCATOR_TYPE_UNSUPPORTED = 46
#: Unassigned
Unassigned_47 = 47
#: CREDENTIALS_REQUIRED [:rfc:`8002`]
CREDENTIALS_REQUIRED = 48
#: Unassigned
Unassigned_49 = 49
#: INVALID_CERTIFICATE [:rfc:`8002`]
INVALID_CERTIFICATE = 50
#: REG_REQUIRED [:rfc:`8003`]
REG_REQUIRED = 51
#: NO_VALID_NAT_TRAVERSAL_MODE_PARAMETER [:rfc:`5770`]
NO_VALID_NAT_TRAVERSAL_MODE_PARAMETER = 60
#: CONNECTIVITY_CHECKS_FAILED [:rfc:`5770`]
CONNECTIVITY_CHECKS_FAILED = 61
#: MESSAGE_NOT_RELAYED [:rfc:`5770`]
MESSAGE_NOT_RELAYED = 62
#: SERVER_REFLEXIVE_CANDIDATE_ALLOCATION_FAILED [:rfc:`9028`]
SERVER_REFLEXIVE_CANDIDATE_ALLOCATION_FAILED = 63
#: RVS_HMAC_PROHIBITED_WITH_RELAY [:rfc:`9028`]
RVS_HMAC_PROHIBITED_WITH_RELAY = 64
#: OVERLAY_TTL_EXCEEDED [:rfc:`6079`]
OVERLAY_TTL_EXCEEDED = 70
#: UNKNOWN_NEXT_HOP [:rfc:`6028`]
UNKNOWN_NEXT_HOP = 90
#: NO_VALID_HIP_TRANSPORT_MODE [:rfc:`6261`]
NO_VALID_HIP_TRANSPORT_MODE = 100
#: I2_ACKNOWLEDGEMENT [:rfc:`7401`]
I2_ACKNOWLEDGEMENT = 16384
#: NAT_KEEPALIVE [:rfc:`9028`]
NAT_KEEPALIVE = 16385
[docs]
@classmethod
def _validate_value(cls, value: 'Any') -> 'None':
"""Reject ``value`` unless it passes the range check :meth:`_missing_` makes.
Overrides :meth:`~pcapkit.corekit.enum.EnumLookup._validate_value`
with that check and the message it raises, so
:meth:`~pcapkit.corekit.enum.EnumRegistry.register` refuses exactly the
values :meth:`~pcapkit.corekit.enum.EnumLookup.get` refuses, in the
same words (:issue:`1816`).
Args:
value: Value about to be looked up or minted.
Raises:
EnumValueError: If ``value`` fails that check. A
:exc:`ValueError`, so an ``except ValueError`` caller is
unaffected.
"""
if not (isinstance(value, int) and 0 <= value <= 65535):
raise EnumValueError('%r is not a valid %s' % (value, cls.__name__))
[docs]
@classmethod
def _missing_(cls, value: 'int') -> 'NotifyMessage':
"""Lookup function used when value is not found.
Args:
value: Value to get enum item.
"""
if not (isinstance(value, int) and 0 <= value <= 65535):
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
if 2 <= value <= 6:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 8 <= value <= 13:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 21 <= value <= 23:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 29 <= value <= 31:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 33 <= value <= 39:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 52 <= value <= 59:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 65 <= value <= 69:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 71 <= value <= 89:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 91 <= value <= 99:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 101 <= value <= 8191:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 8192 <= value <= 16383:
#: Reserved for Private Use [:rfc:`7401`]
return cls._unregistered_member(value, 'Reserved_for_Private_Use')
if 16386 <= value <= 40959:
#: Unassigned
return cls._unregistered_member(value, 'Unassigned')
if 40960 <= value <= 65535:
#: Reserved for Private Use [:rfc:`7401`]
return cls._unregistered_member(value, 'Reserved_for_Private_Use')
return super()._missing_(value)