Struct cryo::SyncLock[][src]

pub struct SyncLock { /* fields omitted */ }
This is supported on crate feature std only.

An implementation of Lock that uses the synchronization facility provided by ::std. Lock operations are tied to the creator thread, but unlock operations can be done in any threads. Blocks the current thread on borrow failure.

The implementation of SyncLock was verified using SPIN.

Trait Implementations

impl Debug for SyncLock[src]

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

Formats the value using the given formatter. Read more

impl Lock for SyncLock[src]

type LockMarker = NoSendMarker

The Send-ness of this type indicates whether a lock can only be acquired by the same thread as self’s creator. Read more

type UnlockMarker = SendMarker

The Send-ness of this type indicates whether a lock can only be released by the same thread as the one that acquired it. Read more

fn new() -> Self[src]

unsafe fn lock_shared(&self)[src]

Acquire a shared lock, blocking the current thread until the lock is acquired. Read more

unsafe fn try_lock_shared(&self) -> bool[src]

Acquire a shared lock. Read more

unsafe fn unlock_shared(&self)[src]

Release a shared lock. Read more

unsafe fn lock_exclusive(&self)[src]

Acquire an exclusive lock, blocking the current thread until the lock is acquired. Read more

unsafe fn try_lock_exclusive(&self) -> bool[src]

Acquire an exclusive lock. Read more

unsafe fn unlock_exclusive(&self)[src]

Release an exclusive lock. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.