pub struct WriteLock { /* private fields */ }Expand description
OS-level exclusive (write) lock on a file. Creates the file if it does not exist.
Implementations§
Source§impl WriteLock
impl WriteLock
Sourcepub fn new<P: AsRef<Path>>(path: P) -> Result<Self, LockError>
pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, LockError>
Acquire an exclusive lock on path. Returns
LockError::Contention if any in-process holder is already
present.
pub fn path(&self) -> &Path
pub fn file(&self) -> Option<&File>
pub fn file_mut(&mut self) -> Option<&mut File>
pub fn unlock(&mut self) -> Result<(), LockError>
Sourcepub fn restore_read_lock(self) -> Result<ReadLock, LockError>
pub fn restore_read_lock(self) -> Result<ReadLock, LockError>
Downgrade to a read lock by releasing the write lock and acquiring a fresh read lock.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WriteLock
impl RefUnwindSafe for WriteLock
impl Send for WriteLock
impl Sync for WriteLock
impl Unpin for WriteLock
impl UnsafeUnpin for WriteLock
impl UnwindSafe for WriteLock
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