#[non_exhaustive]pub struct ContainerSection<'a> {
pub section_syntax_indicator: bool,
pub private_indicator: bool,
pub container_id: u16,
pub version_number: u8,
pub current_next_indicator: bool,
pub section_number: u8,
pub last_section_number: u8,
pub container_data: &'a [u8],
pub reserved_b1: u8,
pub reserved_b5: u8,
}Expand description
Container table section parser (ETSI TS 102 323 v1.4.1 §7.3.1.4).
container_data borrows the payload region (everything between the extension
header and the CRC-32 trailer) without parsing its internal structure.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.section_syntax_indicator: boolsection_syntax_indicator (byte 1 bit 7): 1 for a constructed value,
whatever the wire carried for a parsed one (parse tolerant, serialize
preserves).
private_indicator: boolprivate_indicator bit from byte 1 (this is a private section).
container_id: u1616-bit container_id (carried in the table_id_extension slot, bytes 3-4).
version_number: u85-bit version_number.
current_next_indicator: boolcurrent_next_indicator bit.
section_number: u8section_number in the sub-table sequence.
last_section_number: u8last_section_number in the sub-table sequence.
container_data: &'a [u8]Raw container_data bytes (everything between the extension header and
the CRC-32 trailer). Internal structure is not parsed.
reserved_b1: u8reserved(2) in byte 1 bits [5:4] (11); preserved from the wire.
reserved_b5: u8reserved(2) in front of version_number (11); preserved.
Implementations§
Trait Implementations§
Source§impl<'a> Clone for ContainerSection<'a>
impl<'a> Clone for ContainerSection<'a>
Source§impl<'a> Debug for ContainerSection<'a>
impl<'a> Debug for ContainerSection<'a>
impl<'a> Eq for ContainerSection<'a>
Source§impl<'a> From<ContainerSection<'a>> for AnyTableSection<'a>
impl<'a> From<ContainerSection<'a>> for AnyTableSection<'a>
Source§fn from(t: ContainerSection<'a>) -> Self
fn from(t: ContainerSection<'a>) -> Self
Source§impl<'a> Parse<'a> for ContainerSection<'a>
impl<'a> Parse<'a> for ContainerSection<'a>
Source§impl<'a> PartialEq for ContainerSection<'a>
impl<'a> PartialEq for ContainerSection<'a>
Source§impl<'a> Serialize for ContainerSection<'a>
Available on crate feature serde only.
impl<'a> Serialize for ContainerSection<'a>
serde only.Source§impl Serialize for ContainerSection<'_>
impl Serialize for ContainerSection<'_>
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§fn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
fn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
buf. Returns the number of bytes
written (always equal to serialized_len()).Source§fn try_to_bytes(&self) -> Result<Vec<u8>, Self::Error>
fn try_to_bytes(&self) -> Result<Vec<u8>, Self::Error>
Vec and serialize into it, returning the serializer’s error instead of
panicking. This is the only
allocate-and-serialize entry point: there is deliberately no panicking
to_bytes (hand-built values, or values assembled from damaged wire data,
can violate a wire constraint, so the error must reach the caller).impl<'a> StructuralPartialEq for ContainerSection<'a>
Source§impl<'a> TableDef<'a> for ContainerSection<'a>
impl<'a> TableDef<'a> for ContainerSection<'a>
Source§impl<'a> Yokeable<'a> for ContainerSection<'static>
Available on crate feature yoke only.
impl<'a> Yokeable<'a> for ContainerSection<'static>
yoke only.Source§type Output = ContainerSection<'a>
type Output = ContainerSection<'a>
Self with the 'static replaced with 'a, i.e. Self<'a>