Trait RpcCodec

Source
pub trait RpcCodec: Sized {
    // Required methods
    fn from_slice(buf: &[u8]) -> Result<Self, CodecError>;
    fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>;
}
Expand description

Trait defined to messages over the wire.

Required Methods§

Source

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

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.

Implementations on Foreign Types§

Source§

impl RpcCodec for i8

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for i16

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for i32

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for i64

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for u16

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for u32

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for u64

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for ()

Source§

fn from_slice(_buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, _buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for String

Similar implementation to Vec<u8> but with UTF-8 check.

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<i8>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<i16>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<i32>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<i64>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<u8>

Direct memcpying codec for transmitting bytebufs efficiently. This encodes the vec directly and gobbles the entire input.

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<u16>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<u32>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl RpcCodec for Vec<u64>

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl<T1: RpcCodec, T2: RpcCodec> RpcCodec for (T1, T2)

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl<T1: RpcCodec, T2: RpcCodec, T3: RpcCodec> RpcCodec for (T1, T2, T3)

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Source§

impl<T1: RpcCodec, T2: RpcCodec, T3: RpcCodec, T4: RpcCodec> RpcCodec for (T1, T2, T3, T4)

Source§

fn from_slice(buf: &[u8]) -> Result<Self, CodecError>

Source§

fn fill_buf(&self, buf: &mut Vec<u8>) -> Result<(), CodecError>

Implementors§