pub enum KeyShape {
V1(Box<V1Facts>),
NotUnderBase,
Unparsed {
reason: String,
},
}Expand description
How far the key got through the grammar.
Variants§
V1(Box<V1Facts>)
Parses as v1/<origin>/<class>/<producer>/<subject…> under the active base.
NotUnderBase
The key does not sit under the active base. A fact, not a guess —
and unreachable when the base is empty, since strip_base("", k) is
the identity (RFC 03 §1.1).
Deliberately does not try to name the key’s own base: with no fixed
arity for a subject tail, guessing would mean a left-to-right “first
v1” scan, which RFC 09 §5 forbids for base attribution. Naming other
bases is the base picker’s job (discover_bases), which attributes
fixed-arity from the right.
Unparsed
Under the base, but not a v1 key — an ordinary plain Zenoh key. The grammar’s own message is kept verbatim; it already cites the RFC section.
Trait Implementations§
impl Eq for KeyShape
impl StructuralPartialEq for KeyShape
Auto Trait Implementations§
impl Freeze for KeyShape
impl RefUnwindSafe for KeyShape
impl Send for KeyShape
impl Sync for KeyShape
impl Unpin for KeyShape
impl UnsafeUnpin for KeyShape
impl UnwindSafe for KeyShape
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more