#[non_exhaustive]pub enum MatcherKey {
TrackAlias,
GroupId,
SubgroupId,
ObjectId,
Priority,
EveryNth,
}Expand description
One value key a Matcher can be built on.
Six variants, spelled as the Matcher fields are, so a refusal names
something an author can search their own configuration for — the same
contract
ShapeError::InertMatcher’s
key field carries, and deliberately the same spelling, so the two
rejections read alike.
Two Matcher fields are not here, and their absence is a decision
rather than an omission:
Matcher::sideis the forwarding task’s own direction label, not a field any unit carries, so no draft can fail to carry it. The one side value that names nothing a hook site sees is already rejected byShapeProfile::try_new.Matcher::stream_kindnames which units a rule claims rather than a field those units carry. It issupports_matcher’s second argument, not one of its answers.
Distinct from
MatcherField, which is the run’s
vocabulary and covers a different set: that enum names the four keys a
live session can report absent on a unit it actually saw, this one names
the six keys a configuration can be built on before any session exists.
They overlap on three names and neither is a superset of the other.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
TrackAlias
GroupId
SubgroupId
ObjectId
Priority
Matcher::priority, MoQT’s publisher_priority.
EveryNth
Implementations§
Source§impl MatcherKey
impl MatcherKey
Sourcepub const ALL: [MatcherKey; 6]
pub const ALL: [MatcherKey; 6]
Every key, in the order the fields are declared on Matcher.
Published so a caller can sweep the whole axis without transcribing
it; Capabilities::admit_class reports in this order too.
Sourcepub const fn field_name(self) -> &'static str
pub const fn field_name(self) -> &'static str
The key’s name as the Matcher field is spelled.
Trait Implementations§
Source§impl Clone for MatcherKey
impl Clone for MatcherKey
Source§fn clone(&self) -> MatcherKey
fn clone(&self) -> MatcherKey
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more