pub trait Split3<I1, O1, I2, O2, I3, O3, E>:
Transport<Message<I1, I2, I3, (), ()>, Message<O1, O2, O3, (), ()>, E>
+ Sized
+ Unpinwhere
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§
Sourcefn 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, (), ()>)
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".