pub enum Basis {
Authenticated,
Asserted,
Connected,
}Expand description
What established the name on an operator act.
A closed vocabulary, spelled once, because it is written into records and store rows that outlive this build.
The three differ in what possession established the name, which is the only question a reader of an old record can still ask: a credential, a connection, or the store itself. A fourth is foreseeable — an authority withdrawn by a verified signal from the party that issued it is none of these — and it stays absent until something produces one, because a variant nothing constructs reads as a capability this runtime has.
Variants§
Authenticated
An authenticator verified a credential and this is the actor it named.
The strong form. It is the only basis under which the name is evidence about a person rather than about whoever held a secret.
Asserted
Somebody with the store typed it.
What this proves is narrower than it looks, and stating the narrow thing is the point: it is evidence that whoever ran the command could open the store, and the name is their own account of who that was. On the embedded backend it is the only basis available during the incident the stop exists for, because the process holding the file is the one being stopped.
Connected
The party on a connection this runtime accepted asked for it, and no credential named a person.
The actor is a channel rather than somebody who can be asked about
it — mcp://client for a host cancelling the task it started. Recording
it as authenticated would claim an identity provider vouched for a name
this runtime wrote itself; recording it as asserted would claim somebody
typed it. What it proves is that whoever could open the connection
asked, which is the same kind of claim the other two make and a
weaker one than either.
Implementations§
Trait Implementations§
impl Copy for Basis
Source§impl<'de> Deserialize<'de> for Basis
impl<'de> Deserialize<'de> for Basis
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Basis
Source§impl JsonSchema for Basis
impl JsonSchema for Basis
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Ord for Basis
impl Ord for Basis
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Basis
impl PartialOrd for Basis
impl StructuralPartialEq for Basis
Auto Trait Implementations§
impl Freeze for Basis
impl RefUnwindSafe for Basis
impl Send for Basis
impl Sync for Basis
impl Unpin for Basis
impl UnsafeUnpin for Basis
impl UnwindSafe for Basis
Blanket Implementations§
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.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