pub struct Policy { /* private fields */ }Implementations§
Source§impl Policy
impl Policy
pub fn new(initial_amount: u32, pour_cost: u32, evaporation_cost: u32) -> Policy
Sourcepub fn bottom_less() -> Policy
pub fn bottom_less() -> Policy
§Example
use uchimizu::Policy;
let p = Policy::bottom_less();
assert!(p.is_remaining(0, 0));
assert!(p.is_remaining(0, 1));
assert!(p.is_remaining(1, 1));Sourcepub fn pierced() -> Policy
pub fn pierced() -> Policy
§Example
use uchimizu::Policy;
let p = Policy::pierced();
assert!(!p.is_remaining(0, 0));
assert!(!p.is_remaining(0, 1));
assert!(!p.is_remaining(1, 1));Sourcepub fn expire_within_counts(count: u32) -> Policy
pub fn expire_within_counts(count: u32) -> Policy
§Example
use uchimizu::Policy;
let p = Policy::expire_within_counts(5);
assert!(p.is_remaining(4, 1000));
assert!(!p.is_remaining(5, 1000));
assert!(!p.is_remaining(6, 1000));Sourcepub fn expire_within_secs(secs: u32) -> Policy
pub fn expire_within_secs(secs: u32) -> Policy
§Example
use uchimizu::Policy;
let p = Policy::expire_within_secs(5);
assert!(p.is_remaining(1000, 4));
assert!(!p.is_remaining(1000, 5));
assert!(!p.is_remaining(1000, 6));pub fn is_remaining(&self, hit_count: u32, duration_secs: u32) -> bool
pub fn into_bucket<T>(self) -> Bucket<T>
Trait Implementations§
impl Eq for Policy
impl StructuralPartialEq for Policy
Auto Trait Implementations§
impl Freeze for Policy
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
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