Enum Output

Source
pub enum Output<'machine> {
    GetRequest,
    Recover {
        token: &'machine str,
    },
    DetermineScopes,
    Ok(Box<Grant>),
    Err(Error),
}
Expand description

A request by the statemachine to the executor.

Each variant is fulfilled by certain variants of the next inputs as an argument to Refresh::next. The output of most states is simply repeated if Input::None is provided instead but note that the successful bearer token response is not repeated.

This borrows data from the underlying state machine, so you need to drop it before advancing it with newly provided input.

Variants§

§

GetRequest

The state requires some information from the request to advance.

§

Recover

The issuer should try to recover the grant of a bearer token.

Fulfilled by Input::Recovered.

Fields

§token: &'machine str

The token supplied by the client.

§

DetermineScopes

The executor must determine the scopes applying to the resource.

Fulfilled by Input::Scopes.

§

Ok(Box<Grant>)

The state machine finished and access was allowed.

Returns the grant with which access was granted in case a detailed inspection or logging is required.

This output can not be requested repeatedly, any future Input will yield a primitive error instead.

§

Err(Error)

The state machine finished in an error.

The error will be repeated on any following input.

Trait Implementations§

Source§

impl<'machine> Clone for Output<'machine>

Source§

fn clone(&self) -> Output<'machine>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'machine> Debug for Output<'machine>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'machine> Freeze for Output<'machine>

§

impl<'machine> RefUnwindSafe for Output<'machine>

§

impl<'machine> Send for Output<'machine>

§

impl<'machine> Sync for Output<'machine>

§

impl<'machine> Unpin for Output<'machine>

§

impl<'machine> UnwindSafe for Output<'machine>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,