#[non_exhaustive]pub enum AnyDescriptor<'a> {
Show 72 variants
Registration(RegistrationDescriptor<'a>),
DataStreamAlignment(DataStreamAlignmentDescriptor),
Ca(CaDescriptor<'a>),
Iso639Language(Iso639LanguageDescriptor),
PrivateDataIndicator(PrivateDataIndicatorDescriptor),
NetworkName(NetworkNameDescriptor<'a>),
ServiceList(ServiceListDescriptor),
Stuffing(StuffingDescriptor<'a>),
SatelliteDeliverySystem(SatelliteDeliverySystemDescriptor),
CableDeliverySystem(CableDeliverySystemDescriptor),
VbiData(VbiDataDescriptor<'a>),
VbiTeletext(VbiTeletextDescriptor),
BouquetName(BouquetNameDescriptor<'a>),
Service(ServiceDescriptor<'a>),
CountryAvailability(CountryAvailabilityDescriptor),
Linkage(LinkageDescriptor<'a>),
NvodReference(NvodReferenceDescriptor),
TimeShiftedService(TimeShiftedServiceDescriptor),
ShortEvent(ShortEventDescriptor<'a>),
ExtendedEvent(ExtendedEventDescriptor<'a>),
TimeShiftedEvent(TimeShiftedEventDescriptor),
Component(ComponentDescriptor<'a>),
Mosaic(MosaicDescriptor),
StreamIdentifier(StreamIdentifierDescriptor),
CaIdentifier(CaIdentifierDescriptor),
Content(ContentDescriptor),
ParentalRating(ParentalRatingDescriptor),
Teletext(TeletextDescriptor),
Telephone(TelephoneDescriptor<'a>),
LocalTimeOffset(LocalTimeOffsetDescriptor),
Subtitling(SubtitlingDescriptor),
TerrestrialDeliverySystem(TerrestrialDeliverySystemDescriptor),
MultilingualNetworkName(MultilingualNetworkNameDescriptor<'a>),
MultilingualBouquetName(MultilingualBouquetNameDescriptor<'a>),
MultilingualServiceName(MultilingualServiceNameDescriptor<'a>),
MultilingualComponent(MultilingualComponentDescriptor<'a>),
PrivateDataSpecifier(PrivateDataSpecifierDescriptor),
ServiceMove(ServiceMoveDescriptor),
ShortSmoothingBuffer(ShortSmoothingBufferDescriptor<'a>),
FrequencyList(FrequencyListDescriptor),
PartialTransportStream(PartialTransportStreamDescriptor),
DataBroadcast(DataBroadcastDescriptor<'a>),
Scrambling(ScramblingDescriptor),
DataBroadcastId(DataBroadcastIdDescriptor<'a>),
TransportStream(TransportStreamDescriptor<'a>),
Dsng(DsngDescriptor<'a>),
Pdc(PdcDescriptor),
Ac3(Ac3Descriptor<'a>),
AncillaryData(AncillaryDataDescriptor),
CellList(CellListDescriptor),
CellFrequencyLink(CellFrequencyLinkDescriptor),
AnnouncementSupport(AnnouncementSupportDescriptor),
ApplicationSignalling(ApplicationSignallingDescriptor),
AdaptationFieldData(AdaptationFieldDataDescriptor),
ServiceIdentifier(ServiceIdentifierDescriptor<'a>),
ServiceAvailability(ServiceAvailabilityDescriptor),
DefaultAuthority(DefaultAuthorityDescriptor<'a>),
RelatedContent(RelatedContentDescriptor),
TvaId(TvaIdDescriptor),
ContentIdentifier(ContentIdentifierDescriptor<'a>),
TimeSliceFecIdentifier(TimeSliceFecIdentifierDescriptor<'a>),
EcmRepetitionRate(EcmRepetitionRateDescriptor<'a>),
S2SatelliteDeliverySystem(S2SatelliteDeliverySystemDescriptor),
EnhancedAc3(EnhancedAc3Descriptor<'a>),
Dts(DtsDescriptor<'a>),
Aac(AacDescriptor<'a>),
XaitLocation(XaitLocationDescriptor),
FtaContentManagement(FtaContentManagementDescriptor),
Extension(ExtensionDescriptor<'a>),
LogicalChannel(LogicalChannelDescriptor),
Other {
tag: u8,
value: Box<dyn DescriptorObject>,
},
Unknown {
tag: u8,
body: &'a [u8],
},
}Expand description
Every crate-implemented descriptor, plus an Unknown fallthrough.
serde uses external tagging with camelCase variant keys —
a parsed short_event_descriptor serializes as {"shortEvent": {…}}.
Variant names map 1:1 to the descriptor modules; see each module
for the wire layout.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Registration(RegistrationDescriptor<'a>)
DataStreamAlignment(DataStreamAlignmentDescriptor)
Ca(CaDescriptor<'a>)
Iso639Language(Iso639LanguageDescriptor)
PrivateDataIndicator(PrivateDataIndicatorDescriptor)
NetworkName(NetworkNameDescriptor<'a>)
ServiceList(ServiceListDescriptor)
Stuffing(StuffingDescriptor<'a>)
SatelliteDeliverySystem(SatelliteDeliverySystemDescriptor)
CableDeliverySystem(CableDeliverySystemDescriptor)
VbiData(VbiDataDescriptor<'a>)
VbiTeletext(VbiTeletextDescriptor)
BouquetName(BouquetNameDescriptor<'a>)
Service(ServiceDescriptor<'a>)
CountryAvailability(CountryAvailabilityDescriptor)
Linkage(LinkageDescriptor<'a>)
NvodReference(NvodReferenceDescriptor)
TimeShiftedService(TimeShiftedServiceDescriptor)
ShortEvent(ShortEventDescriptor<'a>)
ExtendedEvent(ExtendedEventDescriptor<'a>)
TimeShiftedEvent(TimeShiftedEventDescriptor)
Component(ComponentDescriptor<'a>)
Mosaic(MosaicDescriptor)
StreamIdentifier(StreamIdentifierDescriptor)
CaIdentifier(CaIdentifierDescriptor)
Content(ContentDescriptor)
ParentalRating(ParentalRatingDescriptor)
Teletext(TeletextDescriptor)
Telephone(TelephoneDescriptor<'a>)
LocalTimeOffset(LocalTimeOffsetDescriptor)
Subtitling(SubtitlingDescriptor)
TerrestrialDeliverySystem(TerrestrialDeliverySystemDescriptor)
MultilingualNetworkName(MultilingualNetworkNameDescriptor<'a>)
MultilingualBouquetName(MultilingualBouquetNameDescriptor<'a>)
MultilingualServiceName(MultilingualServiceNameDescriptor<'a>)
MultilingualComponent(MultilingualComponentDescriptor<'a>)
PrivateDataSpecifier(PrivateDataSpecifierDescriptor)
ServiceMove(ServiceMoveDescriptor)
ShortSmoothingBuffer(ShortSmoothingBufferDescriptor<'a>)
FrequencyList(FrequencyListDescriptor)
PartialTransportStream(PartialTransportStreamDescriptor)
DataBroadcast(DataBroadcastDescriptor<'a>)
Scrambling(ScramblingDescriptor)
DataBroadcastId(DataBroadcastIdDescriptor<'a>)
TransportStream(TransportStreamDescriptor<'a>)
Dsng(DsngDescriptor<'a>)
Pdc(PdcDescriptor)
Ac3(Ac3Descriptor<'a>)
AncillaryData(AncillaryDataDescriptor)
CellList(CellListDescriptor)
CellFrequencyLink(CellFrequencyLinkDescriptor)
AnnouncementSupport(AnnouncementSupportDescriptor)
ApplicationSignalling(ApplicationSignallingDescriptor)
AdaptationFieldData(AdaptationFieldDataDescriptor)
ServiceIdentifier(ServiceIdentifierDescriptor<'a>)
ServiceAvailability(ServiceAvailabilityDescriptor)
DefaultAuthority(DefaultAuthorityDescriptor<'a>)
RelatedContent(RelatedContentDescriptor)
TvaId(TvaIdDescriptor)
ContentIdentifier(ContentIdentifierDescriptor<'a>)
TimeSliceFecIdentifier(TimeSliceFecIdentifierDescriptor<'a>)
EcmRepetitionRate(EcmRepetitionRateDescriptor<'a>)
S2SatelliteDeliverySystem(S2SatelliteDeliverySystemDescriptor)
EnhancedAc3(EnhancedAc3Descriptor<'a>)
Dts(DtsDescriptor<'a>)
Aac(AacDescriptor<'a>)
XaitLocation(XaitLocationDescriptor)
FtaContentManagement(FtaContentManagementDescriptor)
Extension(ExtensionDescriptor<'a>)
LogicalChannel(LogicalChannelDescriptor)
Other
Runtime-registered custom descriptor (see DescriptorRegistry).
Fields
value: Box<dyn DescriptorObject>The parsed, type-erased descriptor value. Use
DescriptorObject::as_any
followed by downcast_ref to recover the concrete type.
Unknown
Tag with no typed implementation; body is the payload sans
the 2-byte (tag, length) header.
Implementations§
Source§impl<'a> AnyDescriptor<'a>
impl<'a> AnyDescriptor<'a>
Sourcepub const DISPATCHED_TAGS: &'static [u8]
pub const DISPATCHED_TAGS: &'static [u8]
Every tag the generated dispatcher routes (excludes @no_dispatch
variants and AnyDescriptor::Unknown).
Sourcepub fn name(&self) -> &'static str
pub fn name(&self) -> &'static str
Diagnostic name of the contained descriptor — the type’s
DescriptorDef::NAME
("SHORT_EVENT", "NETWORK_NAME", …); "CUSTOM" for
AnyDescriptor::Other (runtime-registered) and "UNKNOWN"
for AnyDescriptor::Unknown.