capsules_system::process_checker::tbf

Struct AppIdAssignerTbfHeader

Source
pub struct AppIdAssignerTbfHeader {}
Expand description

Assign AppIDs based on fields in the app’s TBF header.

This uses the ShortId TBF header to assign short IDs to applications. If the header is not present the application will be assigned a ShortID::LocallyUnique ID.

This assigner uses ShortIds as the AppID, so the built-in check for ShortId uniqueness is sufficient.

Trait Implementations§

Source§

impl AppUniqueness for AppIdAssignerTbfHeader

Source§

fn different_identifier( &self, _process_a: &ProcessBinary, _process_b: &ProcessBinary, ) -> bool

Returns whether process_a and process_b have a different identifier, and so can run concurrently. If this returns false, the kernel will not run process_a and process_b at the same time.
Source§

fn different_identifier_process( &self, _process_binary: &ProcessBinary, _process: &dyn Process, ) -> bool

Returns whether process_a and process_b have a different identifier, and so can run concurrently. If this returns false, the kernel will not run process_a and process_b at the same time.
Source§

fn different_identifier_processes( &self, _process_a: &dyn Process, _process_b: &dyn Process, ) -> bool

Returns whether process_a and process_b have a different identifier, and so can run concurrently. If this returns false, the kernel will not run process_a and process_b at the same time.
Source§

impl Compress for AppIdAssignerTbfHeader

Source§

fn to_short_id(&self, process: &ProcessBinary) -> ShortId

Create a ShortId for process. Read more

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> 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 = 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<T> AppIdPolicy for T