proc_macro_api/
codec.rs

1//! Protocol codec
2
3use std::io;
4
5use serde::de::DeserializeOwned;
6
7use crate::framing::Framing;
8
9pub trait Codec: Framing {
10    fn encode<T: serde::Serialize>(msg: &T) -> io::Result<Self::Buf>;
11    fn decode<T: DeserializeOwned>(buf: &mut Self::Buf) -> io::Result<T>;
12}