1
2
3
4
5
6
7
8
9
10
11
12
13
use std::io::{Read, Write};
pub trait Decode: Sized {
type Err;
fn from_reader<R: Read>(reader: &mut R) -> Result<Self, Self::Err>;
}
pub trait Encode {
type Err;
fn write_to<W: Write>(&self, writer: &mut W) -> Result<(), Self::Err>;
}