Trait Protocol

Source
pub trait Protocol:
    Sized
    + Send
    + Sync
    + 'static {
    type ChanExt: ChanExtDefault + Send + Sync + Debug + 'static;
    type UserExt: UserExtDefault + Send + Sync + Debug + 'static;
    type ServExt: ServExtDefault + Send + Sync + Debug + 'static;
    type MemberExt: MemberExtDefault + Send + Sync + Debug + 'static;

    // Required methods
    fn new() -> Self;
    fn start_handshake(
        &mut self,
        me: &mut NeroData<Self>,
        ret: &mut Vec<Vec<u8>>,
    );
    fn process(
        &self,
        message: &[u8],
        me: &mut NeroData<Self>,
        ret: &mut Vec<Vec<u8>>,
    );
}

Required Associated Types§

Required Methods§

Source

fn new() -> Self

Source

fn start_handshake(&mut self, me: &mut NeroData<Self>, ret: &mut Vec<Vec<u8>>)

Source

fn process( &self, message: &[u8], me: &mut NeroData<Self>, ret: &mut Vec<Vec<u8>>, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§