pub struct IntSection<'a> {
pub action_type: u8,
pub platform_id_hash: u8,
pub version_number: u8,
pub current_next_indicator: bool,
pub section_number: u8,
pub last_section_number: u8,
pub platform_id: u32,
pub processing_order: u8,
pub platform_descriptors: DescriptorLoop<'a>,
pub loops: &'a [u8],
}Expand description
IP/MAC Notification Table (INT), ETSI EN 301 192 v1.7.1 §8.4.
All variable-length regions are borrowed as raw bytes from the source
slice. The per-target-and-operational-descriptor loops are exposed as a
single loops slice covering everything after the platform_descriptor_loop
and before the CRC; callers that need to iterate individual entries must
walk the raw bytes using the same 4-bit-reserved + 12-bit-length framing
described by the spec.
Fields§
§action_type: u8Semantics of this INT announcement — 0x01 = stream announcement/location.
platform_id_hash: u88-bit XOR hash over the 24-bit platform_id.
Used for fast section filtering; not unique — always verify against
the full platform_id.
version_number: u85-bit version_number.
current_next_indicator: boolcurrent_next_indicator bit. true means this section is currently
applicable; false means it will become applicable at the next update.
section_number: u8section_number within this sub-table.
last_section_number: u8last_section_number in this sub-table.
platform_id: u3224-bit platform identifier (TS 101 162) stored in the low 24 bits of
a u32. The high byte is always zero on the wire.
processing_order: u8Processing order relative to other INT sections for the same platform_id. 0x00 means no ordering constraint.
platform_descriptors: DescriptorLoop<'a>The platform_descriptor_loop (descriptors only, not the 2-byte length
field). Serializes as the typed descriptor sequence; .raw() yields the
wire bytes.
loops: &'a [u8]Raw bytes of all N × (target_descriptor_loop | operational_descriptor_loop)
entries that follow the platform_descriptor_loop and precede the CRC.
Each iteration starts with a target_descriptor_loop length field (4-bit reserved + 12-bit length) followed by target descriptors, then an operational_descriptor_loop length field followed by operational descriptors. Callers iterate this by walking the 2-byte length headers in sequence.
Trait Implementations§
Source§impl<'a> Clone for IntSection<'a>
impl<'a> Clone for IntSection<'a>
Source§fn clone(&self) -> IntSection<'a>
fn clone(&self) -> IntSection<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for IntSection<'a>
impl<'a> Debug for IntSection<'a>
impl<'a> Eq for IntSection<'a>
Source§impl<'a> From<IntSection<'a>> for AnyTableSection<'a>
impl<'a> From<IntSection<'a>> for AnyTableSection<'a>
Source§fn from(t: IntSection<'a>) -> Self
fn from(t: IntSection<'a>) -> Self
Source§impl<'a> Parse<'a> for IntSection<'a>
impl<'a> Parse<'a> for IntSection<'a>
Source§impl<'a> PartialEq for IntSection<'a>
impl<'a> PartialEq for IntSection<'a>
Source§fn eq(&self, other: &IntSection<'a>) -> bool
fn eq(&self, other: &IntSection<'a>) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for IntSection<'_>
impl Serialize for IntSection<'_>
Source§type Error = Error
type Error = Error
Parse impl, but need not be).Source§fn serialized_len(&self) -> usize
fn serialized_len(&self) -> usize
serialize_into will write.Source§impl<'a> Serialize for IntSection<'a>
impl<'a> Serialize for IntSection<'a>
impl<'a> StructuralPartialEq for IntSection<'a>
Source§impl<'a> Table<'a> for IntSection<'a>
impl<'a> Table<'a> for IntSection<'a>
Source§impl<'a> TableDef<'a> for IntSection<'a>
impl<'a> TableDef<'a> for IntSection<'a>
Source§impl<'a> Yokeable<'a> for IntSection<'static>
impl<'a> Yokeable<'a> for IntSection<'static>
Source§type Output = IntSection<'a>
type Output = IntSection<'a>
Self with the 'static replaced with 'a, i.e. Self<'a>