pub struct KeyFacts {
pub shape: KeyShape,
pub registration: Registration,
}Expand description
Everything zengui knows about one wire key.
Fields§
§shape: KeyShape§registration: RegistrationImplementations§
Source§impl KeyFacts
impl KeyFacts
Sourcepub fn project(base: &str, wire_key: &str) -> KeyFacts
pub fn project(base: &str, wire_key: &str) -> KeyFacts
Project a full wire key against the active base. Infallible by design.
Registration starts Registration::Unknown for a conforming data key;
call KeyFacts::resolve once a SliceSet is available. The two
steps are separate because they are invalidated by different things —
the base changes the shape, the slice set changes only the registration.
Sourcepub fn resolve(&mut self, slices: &SliceSet)
pub fn resolve(&mut self, slices: &SliceSet)
Resolve the registration against a loaded slice set.
Uses SliceSet::refine, which applies RFC 08 §2’s most-literal-first
precedence (literal beats {var} beats {var...}). Note zenctl’s
offline::topic_info predates refine and matches in declaration
order instead — do not copy it.
Trait Implementations§
impl Eq for KeyFacts
impl StructuralPartialEq for KeyFacts
Auto Trait Implementations§
impl Freeze for KeyFacts
impl RefUnwindSafe for KeyFacts
impl Send for KeyFacts
impl Sync for KeyFacts
impl Unpin for KeyFacts
impl UnsafeUnpin for KeyFacts
impl UnwindSafe for KeyFacts
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