pub struct Mutex { /* private fields */ }
Expand description
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§
source§impl Mutex
impl Mutex
sourcepub fn open<P: AsRef<Path>>(path: P) -> Result<Mutex>
pub fn open<P: AsRef<Path>>(path: P) -> Result<Mutex>
Opens a new mutex, given the path for a folder in which the mutex will be mounted. This will create a new folder if one does not exist yet.
Errors
This function fails if it cannot create the folder which is going to contain the mutex.
sourcepub async fn lock(&self) -> Result<MutexGuard>
pub async fn lock(&self) -> Result<MutexGuard>
Locks this mutex, awaiting for it to unlock if it is locked.
sourcepub fn try_lock(&self) -> Result<Option<MutexGuard>>
pub fn try_lock(&self) -> Result<Option<MutexGuard>>
Tries to lock this mutex, returning None
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more