pub trait DowngradableWriteGuard: DerefMut {
type DowngradeResult: Deref<Target = Self::Target>;
type DowngradeToUpgradableResult: UpgradableReadGuard<UpgradeToDowngradableResult = Self, Target = Self::Target>;
// Required methods
fn downgrade(self) -> Self::DowngradeResult;
fn downgrade_to_upgradable(self) -> Self::DowngradeToUpgradableResult;
}
Expand description
Provides an interface for downgrading downgradable write guards.
§Example
See the GuardedTarget
docs for implementation examples.
Required Associated Types§
Sourcetype DowngradeResult: Deref<Target = Self::Target>
type DowngradeResult: Deref<Target = Self::Target>
Self::downgrade
return type.
Sourcetype DowngradeToUpgradableResult: UpgradableReadGuard<UpgradeToDowngradableResult = Self, Target = Self::Target>
type DowngradeToUpgradableResult: UpgradableReadGuard<UpgradeToDowngradableResult = Self, Target = Self::Target>
Self::downgrade_to_upgradable
return type.
Required Methods§
Sourcefn downgrade(self) -> Self::DowngradeResult
fn downgrade(self) -> Self::DowngradeResult
Downgrades the write guard to a read guard.
Sourcefn downgrade_to_upgradable(self) -> Self::DowngradeToUpgradableResult
fn downgrade_to_upgradable(self) -> Self::DowngradeToUpgradableResult
Downgrades the write guard to an upgradable read guard.