pub enum ErrorKind {
Show 18 variants
None,
Internal,
ConnectionRefused,
FlowControl,
StreamLimit,
StreamState,
FinalSize,
FrameEncoding,
TransportParameter,
ConnectionIdLimit,
ProtocolViolation,
InvalidToken,
Application,
CryptoBufferExceeded,
KeyUpdate,
AeadLimitReached,
NoViablePath,
Crypto(u8),
}
Expand description
QUIC transport error codes and application error codes.
See table-7 and error codes of QUIC for more details.
Variants§
None
An endpoint uses this with CONNECTION_CLOSE to signal that the connection is being closed abruptly in the absence of any error.
Internal
The endpoint encountered an internal error and cannot continue with the connection.
ConnectionRefused
The server refused to accept a new connection.
FlowControl
An endpoint received more data than it permitted in its advertised data limits.
StreamLimit
An endpoint received a frame for a stream identifier that exceeded its advertised stream limit for the corresponding stream type.
StreamState
An endpoint received a frame for a stream that was not in a state that permitted that frame.
FinalSize
- An endpoint received a STREAM frame containing data that exceeded the previously established final size,
- an endpoint received a STREAM frame or a RESET_STREAM frame containing a final size that was lower than the size of stream data that was already received, or
- an endpoint received a STREAM frame or a RESET_STREAM frame containing a different final size to the one already established.
FrameEncoding
An endpoint received a frame that was badly formatted.
TransportParameter
An endpoint received transport parameters that were badly formatted, included:
- an invalid value, omitted a mandatory transport parameter
- a forbidden transport parameter
- otherwise in error.
ConnectionIdLimit
The number of connection IDs provided by the peer exceeds the advertised active_connection_id_limit.
ProtocolViolation
An endpoint detected an error with protocol compliance that was not covered by more specific error codes.
InvalidToken
A server received a client Initial that contained an invalid Token field.
Application
The application or application protocol caused the connection to be closed.
CryptoBufferExceeded
An endpoint has received more data in CRYPTO frames than it can buffer.
KeyUpdate
AeadLimitReached
An endpoint has reached the confidentiality or integrity limit for the AEAD algorithm used by the given connection.
NoViablePath
An endpoint has determined that the network path is incapable of supporting QUIC. An endpoint is unlikely to receive a CONNECTION_CLOSE frame carrying this code except when the path does not support a large enough MTU.
Crypto(u8)
The cryptographic handshake failed. A range of 256 values is reserved for carrying error codes specific to the cryptographic handshake that is used. Codes for errors occurring when TLS is used for the cryptographic handshake are described in Section 4.8 of QUIC-TLS.