coapcore::scope

Enum UnionScope

Source
pub enum UnionScope {
    AifValue(AifValue),
    AllowAll,
    DenyAll,
}
Expand description

A scope that can use multiple backends, erasing its type.

(Think “dyn Scope” but without requiring dyn compatibility).

This is useful when combining multiple authentication methods, eg. allowing ACE tokens (that need an AifValue to express their arbitrary scopes) as well as a configured admin key (that has “all” permission, which are not expressible in an AifValue.

Variants§

§

AifValue(AifValue)

§

AllowAll

§

DenyAll

Trait Implementations§

Source§

impl Clone for UnionScope

Source§

fn clone(&self) -> UnionScope

Returns a copy 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 Debug for UnionScope

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Format for UnionScope
where AifValue: Format,

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl From<AifValue> for UnionScope

Source§

fn from(value: AifValue) -> Self

Converts to this type from the input type.
Source§

impl From<AllowAll> for UnionScope

Source§

fn from(_value: AllowAll) -> Self

Converts to this type from the input type.
Source§

impl From<DenyAll> for UnionScope

Source§

fn from(_value: DenyAll) -> Self

Converts to this type from the input type.
Source§

impl From<Infallible> for UnionScope

Source§

fn from(value: Infallible) -> Self

Converts to this type from the input type.
Source§

impl Scope for UnionScope

Source§

fn request_is_allowed<M: ReadableMessage>(&self, request: &M) -> bool

Returns true if a request may be performed by the bound security context.
Source§

fn is_admin(&self) -> bool

Returns true if a bound security context should be preferably retained when hitting resource limits.

Auto Trait Implementations§

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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, 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.
§

impl<T> FormatOrDebug for T
where T: Format,