pub trait Request {
type Response: Sized;
const TYPE: IProtoType;
// Required methods
fn encode_body(&self, out: &mut impl Write) -> Result<(), Error>;
fn decode_response_body(
in: &mut Cursor<Vec<u8>>,
) -> Result<Self::Response, Error>;
// Provided methods
fn encode_header(
&self,
out: &mut impl Write,
sync: SyncIndex,
) -> Result<(), Error> { ... }
fn encode(&self, out: &mut impl Write, sync: SyncIndex) -> Result<(), Error> { ... }
}
Required Associated Types§
Required Associated Constants§
const TYPE: IProtoType
Required Methods§
fn encode_body(&self, out: &mut impl Write) -> Result<(), Error>
fn decode_response_body( in: &mut Cursor<Vec<u8>>, ) -> Result<Self::Response, Error>
Provided Methods§
fn encode_header( &self, out: &mut impl Write, sync: SyncIndex, ) -> Result<(), Error>
fn encode(&self, out: &mut impl Write, sync: SyncIndex) -> Result<(), Error>
Object Safety§
This trait is not object safe.