Skip to main content

H2ErrorCode

Enum H2ErrorCode 

Source
#[non_exhaustive]
pub enum H2ErrorCode {
Show 14 variants NoError = 0, ProtocolError = 1, InternalError = 2, FlowControlError = 3, SettingsTimeout = 4, StreamClosed = 5, FrameSizeError = 6, RefusedStream = 7, Cancel = 8, CompressionError = 9, ConnectError = 10, EnhanceYourCalm = 11, InadequateSecurity = 12, Http1_1Required = 13,
}
Expand description

H2 error codes per RFC 9113 §7.

The same codes appear in both GOAWAY (connection errors) and RST_STREAM (stream errors); whether a given use is connection- or stream-level is determined by context, not by the code itself. Unknown wire values decode to Self::NoError per §5.4.4 / §5.4.5.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

NoError = 0

Graceful shutdown or no error to signal.

§

ProtocolError = 1

Peer violated protocol requirements.

§

InternalError = 2

An internal error in the HTTP stack.

§

FlowControlError = 3

Peer violated flow-control limits.

§

SettingsTimeout = 4

Settings frame was not acknowledged in a timely manner.

§

StreamClosed = 5

A frame was received on a closed stream.

§

FrameSizeError = 6

A frame of an incorrect size was received.

§

RefusedStream = 7

The stream was refused before any application processing.

§

Cancel = 8

The stream was cancelled.

§

CompressionError = 9

HPACK compression state could not be maintained.

§

ConnectError = 10

TCP connection for a CONNECT request was reset or abnormally closed.

§

EnhanceYourCalm = 11

Peer is generating excessive load.

§

InadequateSecurity = 12

Negotiated TLS parameters are unacceptable.

§

Http1_1Required = 13

Request must be retried over HTTP/1.1.

Trait Implementations§

Source§

impl Clone for H2ErrorCode

Source§

fn clone(&self) -> H2ErrorCode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for H2ErrorCode

Source§

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

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

impl Display for H2ErrorCode

Source§

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

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

impl Error for H2ErrorCode

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<H2ErrorCode> for H2Error

Source§

fn from(source: H2ErrorCode) -> Self

Converts to this type from the input type.
Source§

impl From<H2ErrorCode> for u32

Source§

fn from(code: H2ErrorCode) -> u32

Converts to this type from the input type.
Source§

impl From<u32> for H2ErrorCode

Source§

fn from(value: u32) -> Self

Unknown error codes decode to Self::NoError per RFC 9113 §5.4.4 / §5.4.5.

Source§

impl PartialEq for H2ErrorCode

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Copy for H2ErrorCode

Source§

impl Eq for H2ErrorCode

Source§

impl StructuralPartialEq for H2ErrorCode

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

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