embassy_sync::blocking_mutex

Type Alias NoopMutex

Source
pub type NoopMutex<T> = Mutex<NoopRawMutex, T>;
Expand description

A mutex that allows borrowing data in the context of a single executor.

§Safety

This Mutex is only safe within a single executor.

Aliased Type§

struct NoopMutex<T> { /* private fields */ }

Implementations

Source§

impl<T> Mutex<NoopRawMutex, T>

Source

pub fn borrow(&self) -> &T

Borrows the data

Source§

impl<R: RawMutex, T> Mutex<R, T>

Source

pub const fn new(val: T) -> Mutex<R, T>

Creates a new mutex in an unlocked state ready for use.

Source

pub fn lock<U>(&self, f: impl FnOnce(&T) -> U) -> U

Creates a critical section and grants temporary access to the protected data.

Source§

impl<R, T> Mutex<R, T>

Source

pub const fn const_new(raw_mutex: R, val: T) -> Mutex<R, T>

Creates a new mutex based on a pre-existing raw mutex.

This allows creating a mutex in a constant context on stable Rust.

Source

pub fn into_inner(self) -> T

Consumes this mutex, returning the underlying data.

Source

pub fn get_mut(&mut self) -> &mut T

Returns a mutable reference to the underlying data.

Since this call borrows the Mutex mutably, no actual locking needs to take place—the mutable borrow statically guarantees no locks exist.

Trait Implementations

Source§

impl<R: RawMutex + Send, T: ?Sized + Send> Send for Mutex<R, T>

Source§

impl<R: RawMutex + Sync, T: ?Sized + Send> Sync for Mutex<R, T>