EmbeddedMutex

Struct EmbeddedMutex 

Source
pub struct EmbeddedMutex<T: Send + Sync> { /* private fields */ }

Implementations§

Source§

impl<T: Send + Sync> EmbeddedMutex<T>

Source

pub const fn new(input: T) -> Self

Source

pub unsafe fn try_get(&self) -> Option<&mut T>

Attempts to acquire the mutex without blocking.

§Safety

This function is unsafe because it returns a mutable reference to the inner value without tying its lifetime to the lock state. The caller must ensure that:

  1. No other mutable or immutable references to the inner value exist while this reference is in use.
  2. return_mutex() is called exactly once after the reference is no longer needed, before any other thread or interrupt attempts to acquire the lock.

Failure to follow these rules results in undefined behavior.

Returns Some(&mut T) if the lock was successfully acquired, or None if it was already held.

Source

pub fn return_mutex(&self)

Trait Implementations§

Auto Trait Implementations§

§

impl<T> !Freeze for EmbeddedMutex<T>

§

impl<T> !RefUnwindSafe for EmbeddedMutex<T>

§

impl<T> Unpin for EmbeddedMutex<T>
where T: Unpin,

§

impl<T> UnwindSafe for EmbeddedMutex<T>
where T: UnwindSafe,

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.