Skip to main content

Context

Struct Context 

Source
pub struct Context<'a, 'p, V: Verify, W: Watch, R: Recognizer> {
    pub execution: &'p Memory,
    pub anchors: &'p [Anchor<'a>],
    pub interval: Interval,
    pub bounds: Bounds,
    pub policy: Policy<'a>,
    pub verifier: &'p V,
    pub watch: &'p W,
    pub recognizer: &'p R,
}
Expand description

Everything the search asks of the caller: what is trusted, when, how far to look, what is being asked about, and who answers the questions this crate does not.

One value rather than a row of arguments, because these travel together: a path built against other anchors, or for another interval, is another question rather than the same one asked differently.

Fields§

§execution: &'p Memory

The current operation’s shared execution and storage domain. Retained certificate accounts never implicitly finance this search.

§anchors: &'p [Anchor<'a>]

The anchors a path may end at, in the order a report should prefer.

§interval: Interval

The interval the path is built for.

§bounds: Bounds

How far the search may go before it stops and says so.

§policy: Policy<'a>

What the caller is asking about the policies a path was issued under.

§verifier: &'p V

Who checks a signature.

§watch: &'p W

Who says the time the caller allowed has passed.

§recognizer: &'p R

Which extensions a scheme understands beyond the ones this crate reads, since a critical extension nobody understood is a certificate no path goes through.

Auto Trait Implementations§

§

impl<'a, 'p, V, W, R> !RefUnwindSafe for Context<'a, 'p, V, W, R>

§

impl<'a, 'p, V, W, R> !Send for Context<'a, 'p, V, W, R>

§

impl<'a, 'p, V, W, R> !Sync for Context<'a, 'p, V, W, R>

§

impl<'a, 'p, V, W, R> !UnwindSafe for Context<'a, 'p, V, W, R>

§

impl<'a, 'p, V, W, R> Freeze for Context<'a, 'p, V, W, R>

§

impl<'a, 'p, V, W, R> Unpin for Context<'a, 'p, V, W, R>

§

impl<'a, 'p, V, W, R> UnsafeUnpin for Context<'a, 'p, V, W, R>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.