Struct Error

pub struct Error { /* private fields */ }

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.

Implementations

impl Error

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

fn is_io(&self) -> bool

Returns true if the error is an io::Error

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

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

fn into_io(self) -> Option<Error>

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

fn is_go_away(&self) -> bool

Returns true if the error is from a GOAWAY.

fn is_reset(&self) -> bool

Returns true if the error is from a RST_STREAM.

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.

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

impl Debug for Error

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

impl Display for Error

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

impl Error for Error

impl From<Reason> for Error

fn from(src: Reason) -> Error

Auto Trait Implementations

impl !Freeze for Error

impl !RefUnwindSafe for Error

impl !UnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnsafeUnpin for Error

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> From<T> for Error

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for Error

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

fn to_string(&self) -> String

impl<T> WithSubscriber for Error

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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