pub trait RtcpPacketParser<'a>: RtcpPacket + Sized {
    // Required methods
    fn parse(data: &'a [u8]) -> Result<Self, RtcpParseError>;
    fn header_data(&self) -> [u8; 4];
}
Expand description

A Trait to ease the implementation of RTCP Packet parsers.

Implementers only need to return the 4 byte RTCP header from RtcpPacketParser::header_data to be able to use the getters for the common RTCP packet fields.

Required Methods§

source

fn parse(data: &'a [u8]) -> Result<Self, RtcpParseError>

Parses the provided data.

Returns an instance of Self if parsing succeeds, an RtcpParseError otherwise.

source

fn header_data(&self) -> [u8; 4]

Returns the common header for this RTCP packet.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a> RtcpPacketParser<'a> for Packet<'a>

source§

impl<'a> RtcpPacketParser<'a> for App<'a>

source§

impl<'a> RtcpPacketParser<'a> for Bye<'a>

source§

impl<'a> RtcpPacketParser<'a> for PayloadFeedback<'a>

source§

impl<'a> RtcpPacketParser<'a> for ReceiverReport<'a>

source§

impl<'a> RtcpPacketParser<'a> for Sdes<'a>

source§

impl<'a> RtcpPacketParser<'a> for SenderReport<'a>

source§

impl<'a> RtcpPacketParser<'a> for TransportFeedback<'a>

source§

impl<'a> RtcpPacketParser<'a> for Unknown<'a>