ServiceMethodRequest

Trait ServiceMethodRequest 

Source
pub trait ServiceMethodRequest: Debug + Message {
    type Response: RpcMessage;

    const REQ_NAME: &'static str;

    // Required methods
    fn parse(_reader: &mut dyn Read) -> Result<Self>;
    fn write(&self, _writer: &mut dyn Write) -> Result<()>;
    fn encode_size(&self) -> usize;
}

Required Associated Constants§

Source

const REQ_NAME: &'static str

Required Associated Types§

Required Methods§

Source

fn parse(_reader: &mut dyn Read) -> Result<Self>

Source

fn write(&self, _writer: &mut dyn Write) -> Result<()>

Source

fn encode_size(&self) -> usize

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§

Source§

impl<T: RpcMethod> ServiceMethodRequest for T

Source§

const REQ_NAME: &'static str = T::METHOD_NAME

Source§

type Response = <T as RpcMethod>::Response