pub trait PacketIoExt<Perms: PacketPerms, Param>: PacketIo<Perms, Param> {
// Provided methods
fn io<'a, T: PacketStore<'a, Perms>>(
&'a self,
param: Param,
packet: T,
) -> IoFut<'a, Self, Perms, Param, T> ⓘ { ... }
fn io_to<'a, T: PacketStore<'a, Perms>, O: OutputStore<'a, Perms>>(
&'a self,
param: Param,
packet: T,
output: O,
) -> IoToFut<'a, Self, Perms, Param, T, O> ⓘ { ... }
fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>(
&'a self,
param: Param,
packet: T,
container: O,
) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<'_, O, Perms>> ⓘ { ... }
fn io_to_fn<'a, T: PacketStore<'a, Perms>, F: Fn(PacketView<'a, Perms>, Option<Error>) + Send + Sync + 'a>(
&'a self,
param: Param,
packet: T,
func: F,
) -> IoToFut<'a, Self, Perms, Param, T, OutputFunction<F, Perms>> ⓘ { ... }
}Expand description
I/O helpers.
Use these helpers to simplify the usage of PacketIo.
Provided Methods§
fn io<'a, T: PacketStore<'a, Perms>>( &'a self, param: Param, packet: T, ) -> IoFut<'a, Self, Perms, Param, T> ⓘ
fn io_to<'a, T: PacketStore<'a, Perms>, O: OutputStore<'a, Perms>>( &'a self, param: Param, packet: T, output: O, ) -> IoToFut<'a, Self, Perms, Param, T, O> ⓘ
fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( &'a self, param: Param, packet: T, container: O, ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<'_, O, Perms>> ⓘ
fn io_to_fn<'a, T: PacketStore<'a, Perms>, F: Fn(PacketView<'a, Perms>, Option<Error>) + Send + Sync + 'a>( &'a self, param: Param, packet: T, func: F, ) -> IoToFut<'a, Self, Perms, Param, T, OutputFunction<F, Perms>> ⓘ
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".