#[non_exhaustive]pub struct DescribedSchema {
pub origin: String,
pub producer: String,
pub set: SchemaSet,
}decode only.Expand description
One producer’s served describe set, attributed to the host that answered (#398).
The origin cannot come from the set: a SchemaSet names the declaring app
and its types, never the host serving them. It comes from the reply’s own
key, the way RFC 05 §2.1 requires every fan-in answer to be attributed —
the same shape ServedSlice carries one plane over.
Nothing is deduplicated: N hosts running one producer are N entries, which is the point.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.origin: StringThe origin that answered — the h-… host id, or a verbatim service
origin. "?" when the reply key did not parse under this base.
producer: StringThe producer the describe was addressed to. A different question from
origin, which is why both are here.
set: SchemaSetThe set that origin served.
Implementations§
Source§impl DescribedSchema
impl DescribedSchema
Sourcepub fn new(
origin: impl Into<String>,
producer: impl Into<String>,
set: SchemaSet,
) -> DescribedSchema
pub fn new( origin: impl Into<String>, producer: impl Into<String>, set: SchemaSet, ) -> DescribedSchema
One attributed describe answer.
The type is #[non_exhaustive] like its sibling
ServedSlice, so this is how a caller outside
the crate builds one — schema_drift is pure and documented to take
whatever replies were gathered, which is only true if they can be
spelled.
Trait Implementations§
Source§impl Clone for DescribedSchema
impl Clone for DescribedSchema
Source§fn clone(&self) -> DescribedSchema
fn clone(&self) -> DescribedSchema
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DescribedSchema
impl RefUnwindSafe for DescribedSchema
impl Send for DescribedSchema
impl Sync for DescribedSchema
impl Unpin for DescribedSchema
impl UnsafeUnpin for DescribedSchema
impl UnwindSafe for DescribedSchema
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
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> ⓘ
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> ⓘ
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