sophia_api::source

Enum StreamError

Source
pub enum StreamError<SourceErr, SinkErr>
where SourceErr: Error, SinkErr: Error,
{ SourceError(SourceErr), SinkError(SinkErr), }
Expand description

A error that is raised by functions that move fallible Sources into fallible Sinks.

In case this error is raised it can be matched to investigate if Source or Sink failed.

§Conversion

Both variants SourceError and SinkError are public exported. Consequently, StreamError can be constructed with .map_err(SourceError) and .map_err(SinkError).

Variants§

§

SourceError(SourceErr)

Error caused by the source

§

SinkError(SinkErr)

Error caused by the sink

Implementations§

Source§

impl<SourceErr, SinkErr> StreamError<SourceErr, SinkErr>
where SourceErr: Error, SinkErr: Error,

Source

pub fn is_source_error(&self) -> bool

Checks if StreamError was raised by the Source.

Source

pub fn is_sink_error(&self) -> bool

Checks if StreamError was raised by the Sink.

Source

pub fn inner_into<Err>(self) -> Err
where SourceErr: Error + Into<Err>, SinkErr: Error + Into<Err>,

Converts StreamError into an inner error.

Source

pub fn map_source<E, F>(self, f: F) -> StreamError<E, SinkErr>
where E: Error, F: FnOnce(SourceErr) -> E,

Convert using f if a SourceError

Source

pub fn map_sink<E, F>(self, f: F) -> StreamError<SourceErr, E>
where E: Error, F: FnOnce(SinkErr) -> E,

Convert using f if a SinkError

Source

pub fn unwrap_source_error(self) -> SourceErr

Unwrap as the inner SourceError.

§Panic

Panic if self is actually a SinkError.

Source

pub fn unwrap_sink_error(self) -> SinkErr

Unwrap as the inner SinkError.

§Panic

Panic if self is actually a SourceError.

Source

pub fn reverse(self) -> StreamError<SinkErr, SourceErr>

Switch source and sink error.

Trait Implementations§

Source§

impl<SourceErr, SinkErr> Debug for StreamError<SourceErr, SinkErr>
where SourceErr: Error + Debug, SinkErr: Error + Debug,

Source§

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

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

impl<SourceErr, SinkErr> Display for StreamError<SourceErr, SinkErr>
where SourceErr: Error + Display, SinkErr: Error + Display,

Source§

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

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

impl<SourceErr, SinkErr> Error for StreamError<SourceErr, SinkErr>
where SourceErr: Error + Error + 'static, SinkErr: Error + Error + 'static, Self: Debug + Display,

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

Auto Trait Implementations§

§

impl<SourceErr, SinkErr> Freeze for StreamError<SourceErr, SinkErr>
where SourceErr: Freeze, SinkErr: Freeze,

§

impl<SourceErr, SinkErr> RefUnwindSafe for StreamError<SourceErr, SinkErr>
where SourceErr: RefUnwindSafe, SinkErr: RefUnwindSafe,

§

impl<SourceErr, SinkErr> Send for StreamError<SourceErr, SinkErr>
where SourceErr: Send, SinkErr: Send,

§

impl<SourceErr, SinkErr> Sync for StreamError<SourceErr, SinkErr>
where SourceErr: Sync, SinkErr: Sync,

§

impl<SourceErr, SinkErr> Unpin for StreamError<SourceErr, SinkErr>
where SourceErr: Unpin, SinkErr: Unpin,

§

impl<SourceErr, SinkErr> UnwindSafe for StreamError<SourceErr, SinkErr>
where SourceErr: UnwindSafe, SinkErr: UnwindSafe,

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

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.