pub struct LockOptimizer { /* private fields */ }Expand description
Lock optimizer.
Implementations§
Source§impl LockOptimizer
impl LockOptimizer
Sourcepub fn new(config: LockOptimizeConfig) -> Self
pub fn new(config: LockOptimizeConfig) -> Self
Create a new lock optimizer.
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
Create with default configuration.
Sourcepub fn config(&self) -> &LockOptimizeConfig
pub fn config(&self) -> &LockOptimizeConfig
Get the configuration.
Sourcepub fn on_acquire(&self)
pub fn on_acquire(&self)
Record lock acquisition.
Sourcepub fn on_release(&self, hold_time: Duration)
pub fn on_release(&self, hold_time: Duration)
Record lock release.
Sourcepub fn on_contention(&self)
pub fn on_contention(&self)
Record contention.
Sourcepub fn try_spin<F>(&self, try_acquire: F) -> bool
pub fn try_spin<F>(&self, try_acquire: F) -> bool
Perform adaptive spin.
Returns true if the lock was acquired during spinning.
Sourcepub fn current_spin_count(&self) -> usize
pub fn current_spin_count(&self) -> usize
Get current spin count.
Sourcepub fn is_hold_time_excessive(&self, hold_time: Duration) -> bool
pub fn is_hold_time_excessive(&self, hold_time: Duration) -> bool
Check if hold time is excessive.
Sourcepub fn reset_stats(&self)
pub fn reset_stats(&self)
Reset statistics.
Auto Trait Implementations§
impl !Freeze for LockOptimizer
impl RefUnwindSafe for LockOptimizer
impl Send for LockOptimizer
impl Sync for LockOptimizer
impl Unpin for LockOptimizer
impl UnsafeUnpin for LockOptimizer
impl UnwindSafe for LockOptimizer
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