pub struct TaskProvenance { /* private fields */ }Expand description
An origin paired with the trust class derived from it.
Both fields are private and the only constructor is Self::derive, so there is no way to
pair an origin with a trust class that does not follow from it.
Implementations§
Source§impl TaskProvenance
impl TaskProvenance
Sourcepub fn derive(origin: TaskOrigin, inherited: Option<TrustClass>) -> Self
pub fn derive(origin: TaskOrigin, inherited: Option<TrustClass>) -> Self
Derive the trust class for origin.
inherited is the trust of the sending capsule’s own current task, and is consulted only
for TaskOrigin::Peer and TaskOrigin::Completion — the two origins that cross a
capsule boundary. Passing None for either means the sender made no claim, which
resolves to TrustClass::Untrusted: an absent claim is not a trusted one, so untrust
cannot launder itself by dropping the header at the first hop.
pub fn origin(&self) -> TaskOrigin
pub fn trust(&self) -> TrustClass
Trait Implementations§
Source§impl Clone for TaskProvenance
impl Clone for TaskProvenance
impl Copy for TaskProvenance
Source§impl Debug for TaskProvenance
impl Debug for TaskProvenance
impl Eq for TaskProvenance
Source§impl PartialEq for TaskProvenance
impl PartialEq for TaskProvenance
impl StructuralPartialEq for TaskProvenance
Auto Trait Implementations§
impl Forget for TaskProvenance
impl Freeze for TaskProvenance
impl Move for TaskProvenance
impl RefUnwindSafe for TaskProvenance
impl Send for TaskProvenance
impl Sync for TaskProvenance
impl Unpin for TaskProvenance
impl UnsafeUnpin for TaskProvenance
impl UnwindSafe for TaskProvenance
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
Mutably borrows from an owned value. Read more
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