Meter

Trait Meter 

Source
pub trait Meter<K, V> {
    type Measure: Default + Copy + Ord + Display + Add<Output = Self::Measure> + Sub<Output = Self::Measure>;

    // Required method
    fn measure<Q: ?Sized>(&self, key: &Q, value: &V) -> Self::Measure
       where K: Borrow<Q>;
}
Expand description

A trait for measuring the size of a cache item.

Meter is used to provide the cache an additional method to track the resource usage, other than counting cache items. This is useful when the cache items differ in size.

In most cases, using usize as Measure would be good enough.

Required Associated Types§

Source

type Measure: Default + Copy + Ord + Display + Add<Output = Self::Measure> + Sub<Output = Self::Measure>

The type used to store measurements.

Required Methods§

Source

fn measure<Q: ?Sized>(&self, key: &Q, value: &V) -> Self::Measure
where K: Borrow<Q>,

Calculate the size of key and value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<K, V> Meter<K, V> for Count