//! Protocol codec use std::io; use serde::de::DeserializeOwned; use crate::framing::Framing; pub trait Codec: Framing { fn encode(msg: &T) -> io::Result; fn decode(buf: &mut Self::Buf) -> io::Result; }