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
impl Clone for WireErrorCode
Source§fn clone(&self) -> WireErrorCode
fn clone(&self) -> WireErrorCode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for WireErrorCode
impl Debug for WireErrorCode
Source§impl PartialEq for WireErrorCode
impl PartialEq for WireErrorCode
impl Copy for WireErrorCode
impl Eq for WireErrorCode
impl StructuralPartialEq for WireErrorCode
Auto Trait Implementations§
impl Freeze for WireErrorCode
impl RefUnwindSafe for WireErrorCode
impl Send for WireErrorCode
impl Sync for WireErrorCode
impl Unpin for WireErrorCode
impl UnwindSafe for WireErrorCode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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