Struct yaque::mutex::Mutex[][src]

pub struct Mutex { /* fields omitted */ }

A persistent mutex implementation using the atomicity of OpenOptions::create_new. This structure, as opposed to FileGuard, holds some content in a separate file.

Implementations

impl Mutex[src]

pub fn open<P: AsRef<Path>>(path: P) -> Result<Mutex>[src]

Opens a new mutex, given the path for a folder in which the mutes will be mounted. This will create a new floder if one does not exist yet.

Errors

This function fails if it fcannot create the folder which is giong to contain the mutex.

pub async fn lock(&self) -> Result<MutexGuard>[src]

Locks this mutex, awaitng for it to unlock if it is locked.

Auto Trait Implementations

impl RefUnwindSafe for Mutex

impl Send for Mutex

impl Sync for Mutex

impl Unpin for Mutex

impl UnwindSafe for Mutex

Blanket Implementations

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

impl<T> Any for T where
    T: Any

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

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

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

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

impl<T> Pointable for T

type Init = T

The type for initializers.

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.

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,