Enum ErrorKind

Source
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

An endpoint detected errors in performing key updates; see Section 6 of QUIC-TLS.

§

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.

Trait Implementations§

Source§

impl Clone for ErrorKind

Source§

fn clone(&self) -> ErrorKind

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for ErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl From<ErrorKind> for VarInt

Source§

fn from(value: ErrorKind) -> VarInt

Converts to this type from the input type.
Source§

impl PartialEq for ErrorKind

Source§

fn eq(&self, other: &ErrorKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<VarInt> for ErrorKind

Source§

type Error = InvalidErrorKind

The type returned in the event of a conversion error.
Source§

fn try_from( value: VarInt, ) -> Result<ErrorKind, <ErrorKind as TryFrom<VarInt>>::Error>

Performs the conversion.
Source§

impl Copy for ErrorKind

Source§

impl Eq for ErrorKind

Source§

impl StructuralPartialEq for ErrorKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more