Enum quiche::WireErrorCode

source ·
pub enum WireErrorCode {
Show 17 variants NoError = 0, InternalError = 1, ConnectionRefused = 2, FlowControlError = 3, StreamLimitError = 4, StreamStateError = 5, FinalSizeError = 6, FrameEncodingError = 7, TransportParameterError = 8, ConnectionIdLimitError = 9, ProtocolViolation = 10, InvalidToken = 11, ApplicationError = 12, CryptoBufferExceeded = 13, KeyUpdateError = 14, AeadLimitReached = 15, NoViablePath = 16,
}
Expand description

QUIC error codes sent on the wire.

As defined in RFC9000.

Variants§

§

NoError = 0

An endpoint uses this with CONNECTION_CLOSE to signal that the connection is being closed abruptly in the absence of any error.

§

InternalError = 1

The endpoint encountered an internal error and cannot continue with the connection.

§

ConnectionRefused = 2

The server refused to accept a new connection.

§

FlowControlError = 3

An endpoint received more data than it permitted in its advertised data limits; see Section 4.

§

StreamLimitError = 4

An endpoint received a frame for a stream identifier that exceeded its advertised stream limit for the corresponding stream type.

§

StreamStateError = 5

An endpoint received a frame for a stream that was not in a state that permitted that frame.

§

FinalSizeError = 6

(1) An endpoint received a STREAM frame containing data that exceeded the previously established final size, (2) 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 (3) an endpoint received a STREAM frame or a RESET_STREAM frame containing a different final size to the one already established.

§

FrameEncodingError = 7

An endpoint received a frame that was badly formatted – for instance, a frame of an unknown type or an ACK frame that has more acknowledgment ranges than the remainder of the packet could carry.

§

TransportParameterError = 8

An endpoint received transport parameters that were badly formatted, included an invalid value, omitted a mandatory transport parameter, included a forbidden transport parameter, or were otherwise in error.

§

ConnectionIdLimitError = 9

An endpoint received transport parameters that were badly formatted, included an invalid value, omitted a mandatory transport parameter, included a forbidden transport parameter, or were otherwise in error.

§

ProtocolViolation = 10

An endpoint detected an error with protocol compliance that was not covered by more specific error codes.

§

InvalidToken = 11

A server received a client Initial that contained an invalid Token field.

§

ApplicationError = 12

The application or application protocol caused the connection to be closed.

§

CryptoBufferExceeded = 13

An endpoint has received more data in CRYPTO frames than it can buffer.

§

KeyUpdateError = 14

An endpoint detected errors in performing key updates.

§

AeadLimitReached = 15

An endpoint has reached the confidentiality or integrity limit for the AEAD algorithm used by the given connection.

§

NoViablePath = 16

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.

Trait Implementations§

source§

impl Clone for WireErrorCode

source§

fn clone(&self) -> WireErrorCode

Returns a copy 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 WireErrorCode

source§

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

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

impl PartialEq for WireErrorCode

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for WireErrorCode

source§

impl Eq for WireErrorCode

source§

impl StructuralPartialEq for WireErrorCode

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
§

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

§

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

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

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

§

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

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

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

§

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.