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§
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>>, )
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.