pub struct OrderedMutexOwnedGuard<T: ?Sized> { /* private fields */ }
Expand description
An owned handle to a held OrderedMutex.
This guard is only available from a OrderedMutex that is wrapped in an Arc
. It is identical to OrderedMutexGuard
, except that rather than borrowing the OrderedMutex
, it clones the Arc
, incrementing the reference count. This means that unlike OrderedMutexGuard
, it will have the 'static
lifetime.
As long as you have this guard, you have exclusive access to the underlying T
. The guard internally keeps a reference-couned pointer to the original OrderedMutex
, so even if the lock goes away, the guard remains valid.
The lock is automatically released and waked the next locker whenever the guard is dropped, at which point lock will succeed yet again.
Trait Implementations§
Source§impl<T: ?Sized> Deref for OrderedMutexOwnedGuard<T>
impl<T: ?Sized> Deref for OrderedMutexOwnedGuard<T>
Source§impl<T: ?Sized> DerefMut for OrderedMutexOwnedGuard<T>
impl<T: ?Sized> DerefMut for OrderedMutexOwnedGuard<T>
Source§impl<T: ?Sized> Drop for OrderedMutexOwnedGuard<T>
impl<T: ?Sized> Drop for OrderedMutexOwnedGuard<T>
impl<T> Send for OrderedMutexOwnedGuard<T>
impl<T> Sync for OrderedMutexOwnedGuard<T>
Auto Trait Implementations§
impl<T> Freeze for OrderedMutexOwnedGuard<T>where
T: ?Sized,
impl<T> !RefUnwindSafe for OrderedMutexOwnedGuard<T>
impl<T> Unpin for OrderedMutexOwnedGuard<T>where
T: ?Sized,
impl<T> !UnwindSafe for OrderedMutexOwnedGuard<T>
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