pub struct RwLockUpgradeableGuard<'a, T, G: SpinGuardian> { /* private fields */ }Expand description
A guard that provides immutable data access but can be atomically
upgraded to RwLockWriteGuard.
Implementations§
Source§impl<'a, T, G: SpinGuardian> RwLockUpgradeableGuard<'a, T, G>
impl<'a, T, G: SpinGuardian> RwLockUpgradeableGuard<'a, T, G>
Source§impl<'a, T, G: SpinGuardian> RwLockUpgradeableGuard<'a, T, G>
impl<'a, T, G: SpinGuardian> RwLockUpgradeableGuard<'a, T, G>
Sourcepub exec fn upgrade(self) -> RwLockWriteGuard<'a, T, G>
pub exec fn upgrade(self) -> RwLockWriteGuard<'a, T, G>
Upgrades this upread guard to a write guard atomically.
After calling this method, subsequent readers will be blocked while previous readers remain unaffected. The calling thread will spin-wait until previous readers finish.
Source§impl<T, G: SpinGuardian> RwLockUpgradeableGuard<'_, T, G>
impl<T, G: SpinGuardian> RwLockUpgradeableGuard<'_, T, G>
Trait Implementations§
Source§impl<T, G: SpinGuardian> Deref for RwLockUpgradeableGuard<'_, T, G>
impl<T, G: SpinGuardian> Deref for RwLockUpgradeableGuard<'_, T, G>
impl<T, G: SpinGuardian> !Send for RwLockUpgradeableGuard<'_, T, G>
impl<T: Sync, G: SpinGuardian> Sync for RwLockUpgradeableGuard<'_, T, G>
Auto Trait Implementations§
impl<'a, T, G> Freeze for RwLockUpgradeableGuard<'a, T, G>
impl<'a, T, G> !RefUnwindSafe for RwLockUpgradeableGuard<'a, T, G>
impl<'a, T, G> Unpin for RwLockUpgradeableGuard<'a, T, G>
impl<'a, T, G> !UnwindSafe for RwLockUpgradeableGuard<'a, T, G>
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