#include <filter.h>
Definition at line 18 of file filter.h.
◆ cSectionSyncer()
cSectionSyncer::cSectionSyncer |
( |
bool | Random = false | ) |
|
Sets up a new section syncer.
Call Check() to see whether a given section needs processing. Once the section has been processed, call Processed() to mark it as such. If, for any reason, processing is not completed after calling Check(), nothing special needs to be done. Just don't call Processed() and a later call to Check() with the same SectionNumber will return true again. If Random is true, sections can be processed in random order, not necessarily starting with section 0.
Definition at line 15 of file filter.c.
References random, and Reset().
◆ Check()
bool cSectionSyncer::Check |
( |
uchar | Version, |
|
|
int | SectionNumber ) |
Returns true if Version is not the current version, or the given SectionNumber has not been marked as processed, yet.
Sections are handled in ascending order, starting at 0, unless Random is true in the constructor call.
Definition at line 31 of file filter.c.
References complete, currentSection, currentVersion, GetSectionFlag(), random, Reset(), and synced.
Referenced by cEitTables::Check(), cNitFilter::Process(), cPatFilter::Process(), and cSdtFilter::Process().
◆ Complete()
bool cSectionSyncer::Complete |
( |
void | | ) |
|
|
inline |
Returns true if all sections have been processed.
Definition at line 50 of file filter.h.
References complete.
◆ GetSectionFlag()
bool cSectionSyncer::GetSectionFlag |
( |
uchar | Section | ) |
|
|
inlineprivate |
◆ Processed()
bool cSectionSyncer::Processed |
( |
int | SectionNumber, |
|
|
int | LastSectionNumber, |
|
|
int | SegmentLastSectionNumber = -1 ) |
◆ Repeat()
void cSectionSyncer::Repeat |
( |
void | | ) |
|
◆ Reset()
void cSectionSyncer::Reset |
( |
void | | ) |
|
Definition at line 21 of file filter.c.
References complete, currentSection, currentVersion, sections, segments, and synced.
Referenced by Check(), cSectionSyncer(), cPatFilter::Process(), cNitFilter::SetStatus(), cSdtFilter::SetStatus(), Sync(), and cPatFilter::Trigger().
◆ SetSectionFlag()
void cSectionSyncer::SetSectionFlag |
( |
uchar | Section, |
|
|
bool | On ) |
|
inlineprivate |
◆ Sync()
bool cSectionSyncer::Sync |
( |
uchar | Version, |
|
|
int | Number, |
|
|
int | LastNumber ) |
◆ complete
bool cSectionSyncer::complete |
|
private |
◆ currentSection
int cSectionSyncer::currentSection |
|
private |
◆ currentVersion
int cSectionSyncer::currentVersion |
|
private |
◆ random
bool cSectionSyncer::random |
|
private |
◆ sections
uchar cSectionSyncer::sections[32] |
|
private |
◆ segments
uint32_t cSectionSyncer::segments |
|
private |
◆ synced
bool cSectionSyncer::synced |
|
private |
The documentation for this class was generated from the following files: