pub trait CallCodec {
type Params: Encode;
type Reply: Decode + 'static;
const ROUTE: Route;
// Provided methods
fn encode_params(value: &Self::Params) -> Vec<u8> ⓘ { ... }
fn encode_params_with_prefix(prefix: Route, value: &Self::Params) -> Vec<u8> ⓘ { ... }
fn decode_reply(payload: impl AsRef<[u8]>) -> Result<Self::Reply, Error> { ... }
fn decode_reply_with_prefix(
prefix: Route,
payload: impl AsRef<[u8]>,
) -> Result<Self::Reply, Error> { ... }
fn with_optimized_encode<R>(
prefix: Route,
value: &Self::Params,
f: impl FnOnce(&[u8]) -> R,
) -> R { ... }
fn is_empty_tuple<T: 'static>() -> bool { ... }
}Required Associated Constants§
Required Associated Types§
Provided Methods§
fn encode_params(value: &Self::Params) -> Vec<u8> ⓘ
fn encode_params_with_prefix(prefix: Route, value: &Self::Params) -> Vec<u8> ⓘ
fn decode_reply(payload: impl AsRef<[u8]>) -> Result<Self::Reply, Error>
fn decode_reply_with_prefix( prefix: Route, payload: impl AsRef<[u8]>, ) -> Result<Self::Reply, Error>
fn with_optimized_encode<R>( prefix: Route, value: &Self::Params, f: impl FnOnce(&[u8]) -> R, ) -> R
fn is_empty_tuple<T: 'static>() -> bool
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.