use crate::{
bytes_buffer::BytesBuffer,
lib::{Seek, Write},
};
pub(crate) trait WireFormat<'a> {
const MINIMUM_LEN: usize;
fn parse(data: &mut BytesBuffer<'a>) -> crate::Result<Self>
where
Self: Sized;
fn write_to<T: Write>(&self, out: &mut T) -> crate::Result<()>;
fn write_compressed_to<T: Write + Seek>(
&'a self,
out: &mut T,
_name_refs: &mut crate::lib::BTreeMap<&[crate::Label<'a>], u16>,
) -> crate::Result<()> {
self.write_to(out)
}
fn len(&self) -> usize {
Self::MINIMUM_LEN
}
}