#[derive(Debug, thiserror::Error)] pub enum Error { #[error("packet truncated")] Truncated, } pub struct RtcpPacket<'a> { a: &'a [u8], } pub enum RtcpPart { SenderReport {}, ReceiverReport {}, SourceDescription {}, Bye {}, Application {}, } impl<'a> RtcpPacket<'a> { pub fn parse(packet: &'a [u8]) -> Result, Error> { Ok(Self { a: packet }) } pub fn write(&self, out: &mut Vec) { out.extend(self.a); } }