pub struct BufferSectionSyntaxParser<P>where
P: WholeSectionSyntaxPayloadParser,{ /* private fields */ }Expand description
Implements SectionSyntaxPayloadParser so that any sections that cross TS-packet boundaries
are collected into a single byte-buffer for easier parsing. In the common case that the
section fits entirely in a single TS packet, the implementation is zero-copy.
Implementations§
Source§impl<P> BufferSectionSyntaxParser<P>where
P: WholeSectionSyntaxPayloadParser,
impl<P> BufferSectionSyntaxParser<P>where
P: WholeSectionSyntaxPayloadParser,
Sourcepub fn new(parser: P) -> BufferSectionSyntaxParser<P>
pub fn new(parser: P) -> BufferSectionSyntaxParser<P>
wraps the given WholeSectionSyntaxPayloadParser instance in a new
BufferSectionSyntaxParser.
Trait Implementations§
Source§impl<P> SectionSyntaxPayloadParser for BufferSectionSyntaxParser<P>where
P: WholeSectionSyntaxPayloadParser,
impl<P> SectionSyntaxPayloadParser for BufferSectionSyntaxParser<P>where
P: WholeSectionSyntaxPayloadParser,
Source§type Context = <P as WholeSectionSyntaxPayloadParser>::Context
type Context = <P as WholeSectionSyntaxPayloadParser>::Context
The type of the context object passed to all methods
Source§fn start_syntax_section<'a>(
&mut self,
ctx: &mut Self::Context,
header: &SectionCommonHeader,
table_syntax_header: &TableSyntaxHeader<'a>,
data: &'a [u8],
)
fn start_syntax_section<'a>( &mut self, ctx: &mut Self::Context, header: &SectionCommonHeader, table_syntax_header: &TableSyntaxHeader<'a>, data: &'a [u8], )
NB the
data buffer passed to will include the bytes which are represented by header
and table_syntax_header (in order that the called code can check any CRC that covers the
whole section).Source§fn continue_syntax_section(&mut self, ctx: &mut Self::Context, data: &[u8])
fn continue_syntax_section(&mut self, ctx: &mut Self::Context, data: &[u8])
may be called to pass the implementation additional slices of section data, if the
complete section was not already passed.
Auto Trait Implementations§
impl<P> Freeze for BufferSectionSyntaxParser<P>where
P: Freeze,
impl<P> RefUnwindSafe for BufferSectionSyntaxParser<P>where
P: RefUnwindSafe,
impl<P> Send for BufferSectionSyntaxParser<P>where
P: Send,
impl<P> Sync for BufferSectionSyntaxParser<P>where
P: Sync,
impl<P> Unpin for BufferSectionSyntaxParser<P>where
P: Unpin,
impl<P> UnwindSafe for BufferSectionSyntaxParser<P>where
P: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more