Skip to main content

PacketIoExt

Trait PacketIoExt 

Source
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§

Source

fn io<'a, T: PacketStore<'a, Perms>>( &'a self, param: Param, packet: T, ) -> IoFut<'a, Self, Perms, Param, T>

Source

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>

Source

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>>

Source

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".

Implementors§

Source§

impl<T: PacketIo<Perms, Param>, Perms: PacketPerms, Param> PacketIoExt<Perms, Param> for T