pub struct Cooldown<ClockType> { /* private fields */ }Expand description
A specification satisfied after a named timestamp is at least one duration old.
clock is dependency-injected. A Cooldown can therefore be shared only
when its clock implementation is also Send + Sync.
Implementations§
Trait Implementations§
Source§impl<UserData, ClockType> Specification<EvaluationContext<UserData>> for Cooldown<ClockType>where
ClockType: Clock,
impl<UserData, ClockType> Specification<EvaluationContext<UserData>> for Cooldown<ClockType>where
ClockType: Clock,
Source§fn is_satisfied_by(&self, context: &EvaluationContext<UserData>) -> bool
fn is_satisfied_by(&self, context: &EvaluationContext<UserData>) -> bool
Returns whether
candidate satisfies this rule.Source§fn and<Other>(self, other: Other) -> And<Self, Other>where
Self: Sized,
Other: Specification<T>,
fn and<Other>(self, other: Other) -> And<Self, Other>where
Self: Sized,
Other: Specification<T>,
Combines this rule with
other using short-circuiting logical AND. Read moreAuto Trait Implementations§
impl<ClockType> Freeze for Cooldown<ClockType>where
ClockType: Freeze,
impl<ClockType> RefUnwindSafe for Cooldown<ClockType>where
ClockType: RefUnwindSafe,
impl<ClockType> Send for Cooldown<ClockType>where
ClockType: Send,
impl<ClockType> Sync for Cooldown<ClockType>where
ClockType: Sync,
impl<ClockType> Unpin for Cooldown<ClockType>where
ClockType: Unpin,
impl<ClockType> UnsafeUnpin for Cooldown<ClockType>where
ClockType: UnsafeUnpin,
impl<ClockType> UnwindSafe for Cooldown<ClockType>where
ClockType: UnwindSafe,
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