
Enums
=====
.. type:: ngtcp2_pkt_type

    
    :type:`ngtcp2_pkt_type` defines QUIC version-independent QUIC
    packet types.

    .. enum:: NGTCP2_PKT_VERSION_NEGOTIATION

        (``0x80``) 
        :enum:`NGTCP2_PKT_VERSION_NEGOTIATION` is defined by libngtcp2
        for convenience.
    .. enum:: NGTCP2_PKT_STATELESS_RESET

        (``0x81``) 
        :enum:`NGTCP2_PKT_STATELESS_RESET` is defined by libngtcp2 for
        convenience.
    .. enum:: NGTCP2_PKT_INITIAL

        (``0x10``) 
        :enum:`NGTCP2_PKT_INITIAL` indicates Initial packet.
    .. enum:: NGTCP2_PKT_0RTT

        (``0x11``) 
        :enum:`NGTCP2_PKT_0RTT` indicates 0-RTT packet.
    .. enum:: NGTCP2_PKT_HANDSHAKE

        (``0x12``) 
        :enum:`NGTCP2_PKT_HANDSHAKE` indicates Handshake packet.
    .. enum:: NGTCP2_PKT_RETRY

        (``0x13``) 
        :enum:`NGTCP2_PKT_RETRY` indicates Retry packet.
    .. enum:: NGTCP2_PKT_1RTT

        (``0x40``) 
        :enum:`NGTCP2_PKT_1RTT` is defined by libngtcp2 for convenience.

.. type:: ngtcp2_path_validation_result

    
    :type:`ngtcp2_path_validation_result` defines path validation
    result code.

    .. enum:: NGTCP2_PATH_VALIDATION_RESULT_SUCCESS

        :enum:`NGTCP2_PATH_VALIDATION_RESULT_SUCCESS` indicates
        successful validation.
    .. enum:: NGTCP2_PATH_VALIDATION_RESULT_FAILURE

        :enum:`NGTCP2_PATH_VALIDATION_RESULT_FAILURE` indicates
        validation failure.
    .. enum:: NGTCP2_PATH_VALIDATION_RESULT_ABORTED

        :enum:`NGTCP2_PATH_VALIDATION_RESULT_ABORTED` indicates that path
        validation was aborted.

.. type:: ngtcp2_cc_algo

    
    :type:`ngtcp2_cc_algo` defines congestion control algorithms.

    .. enum:: NGTCP2_CC_ALGO_RENO

        (``0x00``) 
        :enum:`NGTCP2_CC_ALGO_RENO` represents Reno.
    .. enum:: NGTCP2_CC_ALGO_CUBIC

        (``0x01``) 
        :enum:`NGTCP2_CC_ALGO_CUBIC` represents Cubic.
    .. enum:: NGTCP2_CC_ALGO_BBR

        (``0x02``) 
        :enum:`NGTCP2_CC_ALGO_BBR` represents BBR v2.

.. type:: ngtcp2_token_type

    
    :type:`ngtcp2_token_type` defines the type of token.

    .. enum:: NGTCP2_TOKEN_TYPE_UNKNOWN

        :enum:`NGTCP2_TOKEN_TYPE_UNKNOWN` indicates that the type of
        token is unknown.
    .. enum:: NGTCP2_TOKEN_TYPE_RETRY

        :enum:`NGTCP2_TOKEN_TYPE_RETRY` indicates that a token comes from
        Retry packet.
    .. enum:: NGTCP2_TOKEN_TYPE_NEW_TOKEN

        :enum:`NGTCP2_TOKEN_TYPE_NEW_TOKEN` indicates that a token comes
        from NEW_TOKEN frame.

.. type:: ngtcp2_encryption_level

    
    :type:`ngtcp2_encryption_level` is QUIC encryption level.

    .. enum:: NGTCP2_ENCRYPTION_LEVEL_INITIAL

        :enum:`NGTCP2_ENCRYPTION_LEVEL_INITIAL` is Initial encryption
        level.
    .. enum:: NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE

        :enum:`NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE` is Handshake encryption
        level.
    .. enum:: NGTCP2_ENCRYPTION_LEVEL_1RTT

        :enum:`NGTCP2_ENCRYPTION_LEVEL_1RTT` is 1-RTT encryption level.
    .. enum:: NGTCP2_ENCRYPTION_LEVEL_0RTT

        :enum:`NGTCP2_ENCRYPTION_LEVEL_0RTT` is 0-RTT encryption level.

.. type:: ngtcp2_connection_id_status_type

    
    :type:`ngtcp2_connection_id_status_type` defines a set of status
    for Destination Connection ID.

    .. enum:: NGTCP2_CONNECTION_ID_STATUS_TYPE_ACTIVATE

        :enum:`NGTCP2_CONNECTION_ID_STATUS_TYPE_ACTIVATE` indicates that
        a local endpoint starts using new Destination Connection ID.
    .. enum:: NGTCP2_CONNECTION_ID_STATUS_TYPE_DEACTIVATE

        :enum:`NGTCP2_CONNECTION_ID_STATUS_TYPE_DEACTIVATE` indicates
        that a local endpoint stops using a given Destination Connection
        ID.

.. type:: ngtcp2_ccerr_type

    
    :type:`ngtcp2_ccerr_type` defines connection error type.

    .. enum:: NGTCP2_CCERR_TYPE_TRANSPORT

        :enum:`NGTCP2_CCERR_TYPE_TRANSPORT` indicates the QUIC transport
        error, and the error code is QUIC transport error code.
    .. enum:: NGTCP2_CCERR_TYPE_APPLICATION

        :enum:`NGTCP2_CCERR_TYPE_APPLICATION` indicates an application
        error, and the error code is application error code.
    .. enum:: NGTCP2_CCERR_TYPE_VERSION_NEGOTIATION

        :enum:`NGTCP2_CCERR_TYPE_VERSION_NEGOTIATION` is a special case
        of QUIC transport error, and it indicates that client receives
        Version Negotiation packet.
    .. enum:: NGTCP2_CCERR_TYPE_IDLE_CLOSE

        :enum:`NGTCP2_CCERR_TYPE_IDLE_CLOSE` is a special case of QUIC
        transport error, and it indicates that connection is closed
        because of idle timeout.
    .. enum:: NGTCP2_CCERR_TYPE_DROP_CONN

        :enum:`NGTCP2_CCERR_TYPE_DROP_CONN` is a special case of QUIC
        transport error, and it indicates that connection should be
        dropped without sending a CONNECTION_CLOSE frame.
    .. enum:: NGTCP2_CCERR_TYPE_RETRY

        :enum:`NGTCP2_CCERR_TYPE_RETRY` is a special case of QUIC
        transport error, and it indicates that RETRY packet should be
        sent to a client.

