Skip to main content

ls7366/
traits.rs

1use crate::errors::EncoderError;
2
3/// Any field that may be encoded into a u8 byte
4pub trait Encodable {
5    fn encode(&self) -> u8;
6}
7
8/// Any object that may be decoded from a u8 byte.
9/// Unsuccessful decodes result in an ([`EncoderError`])
10///
11/// [`EncoderError`]: ../errors/enum.EncoderError.html
12
13pub trait Decodable: Sized{
14    fn decode(raw:u8) -> Result<Self, EncoderError>;
15}