pub struct InterfaceShow {
pub type_name: String,
pub carriers: Vec<CarrierRow>,
pub schemas: Asked<Vec<SchemaRow>>,
pub drift: Vec<SchemaDrift>,
}Fields§
§type_name: String§carriers: Vec<CarrierRow>§schemas: Asked<Vec<SchemaRow>>What each producer serving this type name says its schema is
(issue #51). NotAsked = --schema was not passed, so the bus was
never asked; Asked(vec![]) = asked and no carrier served one — the
empty Vec used to conflate the two (RFC 09 §5.1 O4, review finding
R4). Two rows with different hashes is the RFC 08 §7 drift finding,
visible right here rather than only in doctor.
drift: Vec<SchemaDrift>The engine’s verdict on whether the carriers agree about this type —
schema_drift over the
describe sweep, filtered to type_name (#410).
Not derivable from schemas: a SchemaRow names a producer and
no origin, and flattens an unserved hash to "", so two rows can
neither show two hosts of one producer disagreeing nor tell “both
said nothing” from “both said the same” (the O4 bug #370 fixed in the
doctor). The renderer used to recompute drift over the rows and got
exactly those two cases wrong; this field is the one implementation’s
answer, and the note reads it.
Empty when nothing disagrees — and empty when --schema was not
passed, which schemas already says (NotAsked); omitted from the
document in both cases, so an unasked run does not sprout a field
that reads as “asked, clean”.
Trait Implementations§
Source§impl Clone for InterfaceShow
impl Clone for InterfaceShow
Source§fn clone(&self) -> InterfaceShow
fn clone(&self) -> InterfaceShow
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InterfaceShow
impl Debug for InterfaceShow
Auto Trait Implementations§
impl Freeze for InterfaceShow
impl RefUnwindSafe for InterfaceShow
impl Send for InterfaceShow
impl Sync for InterfaceShow
impl Unpin for InterfaceShow
impl UnsafeUnpin for InterfaceShow
impl UnwindSafe for InterfaceShow
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