Semaphore

Struct Semaphore 

Source
pub struct Semaphore(/* private fields */);
Expand description

Represents a FreeRTOS counting semaphore.

Implementations§

Source§

impl Semaphore

Source

pub fn new(max_count: u32, init_count: u32) -> Self

Creates a new semaphore. Panics on failure; see Semaphore::try_new.

Source

pub fn try_new(max_count: u32, init_count: u32) -> Result<Self, Error>

Creates a new semaphore.

Source

pub fn wait(&self, timeout: Duration) -> Result<(), Error>

Blocks up to timeout until an instance of the semaphore can be taken (i.e., its count decremented). If the semaphore cannot be taken (due to timeout or other reason), an error is returned.

Source

pub fn post(&self) -> Result<(), Error>

Increments the semaphore’s count. If the semaphore cannot be given, an error is returned.

Source

pub fn count(&self) -> u32

Gets the semaphore’s current count.

Trait Implementations§

Source§

impl Drop for Semaphore

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Semaphore

Source§

impl Sync for Semaphore

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.