メインコンテンツまでスキップ

20. Error Codes

20. Error Codes

QUIC transport error codes and application error codes are 62-bit unsigned integers.

20.1 Transport Error Codes

This section lists the defined QUIC transport error codes that can be used in a CONNECTION_CLOSE frame with a type of 0x1c. These errors apply to the entire connection.

NO_ERROR (0x00): An endpoint uses this with CONNECTION_CLOSE to signal that the connection is being closed abruptly in the absence of any error.

INTERNAL_ERROR (0x01): The endpoint encountered an internal error and cannot continue with the connection.

CONNECTION_REFUSED (0x02): The server refused to accept a new connection.

FLOW_CONTROL_ERROR (0x03): An endpoint received more data than it permitted in its advertised data limits.

STREAM_LIMIT_ERROR (0x04): An endpoint received a frame for a stream identifier that exceeded its advertised stream limit for the corresponding stream type.

STREAM_STATE_ERROR (0x05): An endpoint received a frame for a stream that was not in a state that permitted that frame.

FINAL_SIZE_ERROR (0x06): An endpoint received a STREAM frame containing data that exceeded the previously established final size, or a RESET_STREAM frame containing a final size that was lower than the size of stream data that was already received, or a RESET_STREAM frame containing a final size that changed.

FRAME_ENCODING_ERROR (0x07): An endpoint received a frame that was badly formatted.

TRANSPORT_PARAMETER_ERROR (0x08): An endpoint received transport parameters that were badly formatted, included an invalid value, was absent even though it is mandatory, was present though it is forbidden, or is otherwise in error.

CONNECTION_ID_LIMIT_ERROR (0x09): An endpoint received more connection IDs than it is willing to process.

PROTOCOL_VIOLATION (0x0a): An endpoint detected an error with protocol compliance that was not covered by more specific error codes.

INVALID_TOKEN (0x0b): A server received a client Initial that contained an invalid Token field.

APPLICATION_ERROR (0x0c): The application or application protocol caused the connection to be closed.

CRYPTO_BUFFER_EXCEEDED (0x0d): An endpoint has received more data in CRYPTO frames than it can buffer.

KEY_UPDATE_ERROR (0x0e): An endpoint detected errors in performing key updates.

AEAD_LIMIT_REACHED (0x0f): An endpoint has reached the confidentiality or integrity limit for the AEAD algorithm used by the given connection.

NO_VIABLE_PATH (0x10): An endpoint has determined that the network path is incapable of supporting QUIC.

20.2 Application Protocol Error Codes

Application protocol error codes are 62-bit unsigned integers that are used in RESET_STREAM frames or CONNECTION_CLOSE frames with a type of 0x1d. Application protocol error codes are defined by the application protocol that uses QUIC.