Skip to main content

Split3

Trait Split3 

Source
pub trait Split3<I1, O1, I2, O2, I3, O3, E>:
    Transport<Message<I1, I2, I3, (), ()>, Message<O1, O2, O3, (), ()>, E>
    + Sized
    + Unpin
where E: Error,
{ // Provided method fn split_into_3( self, ) -> (Part<I1, O1, fn(O1) -> Message<O1, O2, O3, (), ()>, fn(Message<I1, I2, I3, (), ()>) -> Result<I1, Message<I1, I2, I3, (), ()>>, Self, E, I1, I2, I3, (), ()>, Part<I2, O2, fn(O2) -> Message<O1, O2, O3, (), ()>, fn(Message<I1, I2, I3, (), ()>) -> Result<I2, Message<I1, I2, I3, (), ()>>, Self, E, I1, I2, I3, (), ()>, Part<I3, O3, fn(O3) -> Message<O1, O2, O3, (), ()>, fn(Message<I1, I2, I3, (), ()>) -> Result<I3, Message<I1, I2, I3, (), ()>>, Self, E, I1, I2, I3, (), ()>) { ... } }
Available on crate feature splitting only.
Expand description

Trait allowing transports to be split into three of different message types.

Provided Methods§

Source

fn split_into_3( self, ) -> (Part<I1, O1, fn(O1) -> Message<O1, O2, O3, (), ()>, fn(Message<I1, I2, I3, (), ()>) -> Result<I1, Message<I1, I2, I3, (), ()>>, Self, E, I1, I2, I3, (), ()>, Part<I2, O2, fn(O2) -> Message<O1, O2, O3, (), ()>, fn(Message<I1, I2, I3, (), ()>) -> Result<I2, Message<I1, I2, I3, (), ()>>, Self, E, I1, I2, I3, (), ()>, Part<I3, O3, fn(O3) -> Message<O1, O2, O3, (), ()>, fn(Message<I1, I2, I3, (), ()>) -> Result<I3, Message<I1, I2, I3, (), ()>>, Self, E, I1, I2, I3, (), ()>)

Split into three transports.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T, I1, O1, I2, O2, I3, O3, E> Split3<I1, O1, I2, O2, I3, O3, E> for T
where T: Transport<Message<I1, I2, I3, (), ()>, Message<O1, O2, O3, (), ()>, E> + Unpin, E: Error,