//! SCTE-35-specific dispatch traits. `Parse` / `Serialize` come from
//! `dvb_common` and are imported directly at call sites.
//!
//! These mirror dvb-si's `DescriptorDef` / `TableDef`: each typed wire entity
//! declares its discriminant byte and a SCREAMING_SNAKE diagnostic `NAME`, and
//! the `declare_*!` dispatch macros pin the byte literal in the dispatch list
//! to the trait const via a drift test, so the list can never silently drift
//! from the implemented set.
use Parse;
/// Implemented by every typed splice command; drives
/// [`crate::commands::AnyCommand`] dispatch. `COMMAND_TYPE` is the
/// `splice_command_type` byte (§9.6.1, Table 7) this type parses.
/// Implemented by every typed splice descriptor; drives
/// [`crate::descriptors::AnySpliceDescriptor`] dispatch. `TAG` is the
/// `splice_descriptor_tag` byte (§10.1, Table 16) this type parses.