CallCodec

Trait CallCodec 

Source
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§

Source

type Params: Encode

Source

type Reply: Decode + 'static

Provided Methods§

Source

fn encode_params(value: &Self::Params) -> Vec<u8>

Source

fn encode_params_with_prefix(prefix: Route, value: &Self::Params) -> Vec<u8>

Source

fn decode_reply(payload: impl AsRef<[u8]>) -> Result<Self::Reply, Error>

Source

fn decode_reply_with_prefix( prefix: Route, payload: impl AsRef<[u8]>, ) -> Result<Self::Reply, Error>

Source

fn with_optimized_encode<R>( prefix: Route, value: &Self::Params, f: impl FnOnce(&[u8]) -> R, ) -> R

Source

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.

Implementors§