Struct mcslock::raw::LocalMutexNode

source ·
pub struct LocalMutexNode { /* private fields */ }
Available on crate feature thread_local only.
Expand description

A handle to a MutexNode stored at the thread local storage.

Thread local nodes can be claimed for temporary, exclusive access during runtime for locking purposes. Node handles refer to the node stored at the current running thread.

Just like MutexNode, this is an opaque type that holds metadata for the raw::Mutex’s waiting queue. You must declare a thread local node with the thread_local_node! macro, and provide the generated handle to the appropriate raw::Mutex locking APIs. Attempting to lock a mutex with a thread local node that already is in used for the locking thread will cause a panic. Handles are provided by reference to functions.

See: try_lock_with_local, lock_with_local, try_lock_with_local_unchecked or lock_with_local_unchecked.

Trait Implementations§

source§

impl Debug for LocalMutexNode

source§

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

Formats the value using the given formatter. 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>,

§

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>,

§

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.