Struct h2::Error

source ·
pub struct Error {
    kind: Kind,
}
Expand description

Represents HTTP/2 operation errors.

Error covers error cases raised by protocol errors caused by the peer, I/O (transport) errors, and errors caused by the user of the library.

If the error was caused by the remote peer, then it will contain a Reason which can be obtained with the reason function.

Fields§

§kind: Kind

Implementations§

source§

impl Error

source

pub fn reason(&self) -> Option<Reason>

If the error was caused by the remote peer, the error reason.

This is either an error received by the peer or caused by an invalid action taken by the peer (i.e. a protocol error).

source

pub fn is_io(&self) -> bool

Returns true if the error is an io::Error

source

pub fn get_io(&self) -> Option<&Error>

Returns the error if the error is an io::Error

source

pub fn into_io(self) -> Option<Error>

Returns the error if the error is an io::Error

source

pub(crate) fn from_io(err: Error) -> Self

source

pub fn is_go_away(&self) -> bool

Returns true if the error is from a GOAWAY.

source

pub fn is_reset(&self) -> bool

Returns true if the error is from a RST_STREAM.

source

pub fn is_remote(&self) -> bool

Returns true if the error was received in a frame from the remote.

Such as from a received RST_STREAM or GOAWAY frame.

source

pub fn is_library(&self) -> bool

Returns true if the error was created by h2.

Such as noticing some protocol error and sending a GOAWAY or RST_STREAM.

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

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

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<Error> for Error

source§

fn from(src: Error) -> Error

Converts to this type from the input type.
source§

impl From<Reason> for Error

source§

fn from(src: Reason) -> Error

Converts to this type from the input type.
source§

impl From<SendError> for Error

source§

fn from(src: SendError) -> Error

Converts to this type from the input type.
source§

impl From<UserError> for Error

source§

fn from(src: UserError) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

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> 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> ToString for T
where T: Display + ?Sized,

source§

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

§

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