pub trait Map<Incoming, Outgoing, Error>:
Transport<Incoming, Outgoing, Error>
+ Sized
+ Unpinwhere
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> { ... }
}Available on crate feature
mapping only.Expand description
Trait allowing transports to be mapped into other message types.
Provided Methods§
Sourcefn map<O, Mapper>(
self,
mapper: Mapper,
) -> Mapping<Self, Incoming, O, fn(Incoming) -> Incoming, Mapper, Error>where
Mapper: Mapper<O, Output = Outgoing>,
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.
Sourcefn unmap<I, Unmapper>(
self,
unmapper: Unmapper,
) -> Mapping<Self, Incoming, Outgoing, Unmapper, fn(Outgoing) -> Outgoing, Error>where
Unmapper: Mapper<Incoming, Output = I>,
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.
Sourcefn map_and_unmap<I, O, Unmapper, Mapper>(
self,
mapper: Mapper,
unmapper: Unmapper,
) -> Mapping<Self, Incoming, O, Unmapper, Mapper, Error>
fn map_and_unmap<I, O, Unmapper, Mapper>( self, mapper: Mapper, unmapper: Unmapper, ) -> Mapping<Self, Incoming, O, Unmapper, Mapper, Error>
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".