Trait lock_api::RawRwLockUpgradeTimed
source · [−]pub unsafe trait RawRwLockUpgradeTimed: RawRwLockUpgrade + RawRwLockTimed {
fn try_lock_upgradable_for(&self, timeout: Self::Duration) -> bool;
fn try_lock_upgradable_until(&self, timeout: Self::Instant) -> bool;
unsafe fn try_upgrade_for(&self, timeout: Self::Duration) -> bool;
unsafe fn try_upgrade_until(&self, timeout: Self::Instant) -> bool;
}
Expand description
Additional methods for RwLocks which support upgradable locks and locking with timeouts.
Required methods
fn try_lock_upgradable_for(&self, timeout: Self::Duration) -> bool
fn try_lock_upgradable_for(&self, timeout: Self::Duration) -> bool
Attempts to acquire an upgradable lock until a timeout is reached.
fn try_lock_upgradable_until(&self, timeout: Self::Instant) -> bool
fn try_lock_upgradable_until(&self, timeout: Self::Instant) -> bool
Attempts to acquire an upgradable lock until a timeout is reached.
unsafe fn try_upgrade_for(&self, timeout: Self::Duration) -> bool
unsafe fn try_upgrade_for(&self, timeout: Self::Duration) -> bool
Attempts to upgrade an upgradable lock to an exclusive lock until a timeout is reached.
Safety
This method may only be called if an upgradable lock is held in the current context.
unsafe fn try_upgrade_until(&self, timeout: Self::Instant) -> bool
unsafe fn try_upgrade_until(&self, timeout: Self::Instant) -> bool
Attempts to upgrade an upgradable lock to an exclusive lock until a timeout is reached.
Safety
This method may only be called if an upgradable lock is held in the current context.