[−][src]Trait psyche_utils::bucket_strainer::Rule
Trait used to tell how much successfuly bucket has to get incoming item.
Example
use psyche_utils::bucket_strainer::{Bucket, Rule}; use psyche_utils::Scalar; #[derive(Clone)] struct SuccessRule; impl<T> Rule<T> for SuccessRule where T: Clone, { fn score(&self, _: &T, _: &Bucket<T>) -> Scalar { 1.0 } fn box_clone(&self) -> Box<dyn Rule<T>> { Box::new((*self).clone()) } }
Required methods
fn score(&self, item: &T, bucket: &Bucket<T>) -> Scalar
Score incoming item.
Arguments
item
- Incoming item.bucket
- Bucket that tests incoming item.
Return
Score for given item that tell how lucky it is to fall into given bucket.
fn box_clone(&self) -> Box<dyn Rule<T>>
Create boxed clone for this rule.
Implementors
impl<T> Rule<T> for BucketLimitRule where
T: Clone,
[src]
T: Clone,
fn score(&self, _: &T, bucket: &Bucket<T>) -> Scalar
[src]
fn box_clone(&self) -> Box<dyn Rule<T>>
[src]
impl<T> Rule<T> for ClosureRule<T> where
T: Clone + 'static,
[src]
T: Clone + 'static,
fn score(&self, item: &T, bucket: &Bucket<T>) -> Scalar
[src]
fn box_clone(&self) -> Box<dyn Rule<T>>
[src]
impl<T> Rule<T> for FixedScoreRule where
T: Clone,
[src]
T: Clone,
impl<T> Rule<T> for MulRule<T> where
T: Clone + 'static,
[src]
T: Clone + 'static,
fn score(&self, item: &T, bucket: &Bucket<T>) -> Scalar
[src]
fn box_clone(&self) -> Box<dyn Rule<T>>
[src]
impl<T> Rule<T> for SumRule<T> where
T: Clone + 'static,
[src]
T: Clone + 'static,