pub mod carrier;
pub mod micro;
pub mod generate;
pub mod parse;
use crate::Result;
use nom::IResult;
pub const EMPTY: &[u8] = &[];
pub trait FrameParser {
type Output;
fn parse(input: &[u8]) -> IResult<&[u8], Self::Output>;
}
pub trait FrameGenerator {
fn generate(self, buf: &mut Vec<u8>) -> Result<()>;
}
impl FrameGenerator for () {
fn generate(self, _: &mut Vec<u8>) -> Result<()> {
Ok(())
}
}
impl FrameParser for () {
type Output = ();
fn parse(input: &[u8]) -> IResult<&[u8], Self::Output> {
Ok((input, ()))
}
}