Skip to main content

Map

Trait Map 

Source
pub trait Map<Incoming, Outgoing, Error>:
    Transport<Incoming, Outgoing, Error>
    + Sized
    + Unpin
where Error: Error,
{ // Provided methods fn map<O, Mapper>( self, mapper: Mapper, ) -> Mapping<Self, Incoming, O, fn(Incoming) -> Incoming, Mapper, Error> where Mapper: Mapper<O, Output = Outgoing> { ... } fn unmap<I, Unmapper>( self, unmapper: Unmapper, ) -> Mapping<Self, Incoming, Outgoing, Unmapper, fn(Outgoing) -> Outgoing, Error> where Unmapper: Mapper<Incoming, Output = I> { ... } fn map_and_unmap<I, O, Unmapper, Mapper>( self, mapper: Mapper, unmapper: Unmapper, ) -> Mapping<Self, Incoming, O, Unmapper, Mapper, Error> where Mapper: Mapper<O, Output = Outgoing>, Unmapper: Mapper<Incoming, Output = I> { ... } }
Expand description

Trait allowing transports to be mapped into other message types.

Provided Methods§

Source

fn map<O, Mapper>( self, mapper: Mapper, ) -> Mapping<Self, Incoming, O, fn(Incoming) -> Incoming, Mapper, Error>
where Mapper: Mapper<O, Output = Outgoing>,

Map outgoing massages.

Source

fn unmap<I, Unmapper>( self, unmapper: Unmapper, ) -> Mapping<Self, Incoming, Outgoing, Unmapper, fn(Outgoing) -> Outgoing, Error>
where Unmapper: Mapper<Incoming, Output = I>,

Map incoming messages.

Source

fn map_and_unmap<I, O, Unmapper, Mapper>( self, mapper: Mapper, unmapper: Unmapper, ) -> Mapping<Self, Incoming, O, Unmapper, Mapper, Error>
where Mapper: Mapper<O, Output = Outgoing>, Unmapper: Mapper<Incoming, Output = I>,

Map outgoing messages and unmap incoming messages.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl<T, Incoming, Outgoing, Error> Map<Incoming, Outgoing, Error> for T
where T: Transport<Incoming, Outgoing, Error> + Unpin, Error: Error,