pub struct Skeleton {
pub root: SkeletonNode,
pub coverage: SkeletonCoverage,
}Fields§
§root: SkeletonNode§coverage: SkeletonCoverageImplementations§
Source§impl Skeleton
impl Skeleton
Sourcepub fn build(
base: &str,
slices: &SliceSet,
roster: &BTreeMap<String, Vec<String>>,
admin: Option<&DeclaredEntities>,
) -> Skeleton
pub fn build( base: &str, slices: &SliceSet, roster: &BTreeMap<String, Vec<String>>, admin: Option<&DeclaredEntities>, ) -> Skeleton
Build the declared keyspace. Pure — every input was gathered by the caller, this only assembles.
Expansion rules:
- a host slice × every roster origin running that producer →
<base>/v1/<origin>/<class>/<producer>/<pattern…>(evidence: declared+alive); - a host slice with no live origin → the same under a symbolic
{origin}variable (declared, not placed — still visible, O4); - a service slice →
<base>/v1/<origin>/<class>/<pattern…>with no producer chunk (RFC 03 §1.5); - admin entities with concrete (wildcard-free) keyexprs insert as literal paths; wildcard-bearing ones are not expanded into fake concrete nodes — they only contribute to the coverage count.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Skeleton
impl RefUnwindSafe for Skeleton
impl Send for Skeleton
impl Sync for Skeleton
impl Unpin for Skeleton
impl UnsafeUnpin for Skeleton
impl UnwindSafe for Skeleton
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<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