Struct CacheEntryBuilder

Source
pub struct CacheEntryBuilder<T> { /* private fields */ }
Expand description

The builder for building CacheEntry with supplied parameters.

Implementations§

Source§

impl<T> CacheEntryBuilder<T>

Source

pub fn new<F>(f: F) -> CacheEntryBuilder<T>
where F: FnOnce() -> T,

Return a new CacheEntryBuilder.

This method takes a closure which should return the value to be cached.

Source

pub fn with_delta<F>(self, f: F) -> CacheEntryBuilder<T>
where F: FnOnce(&T) -> Duration,

Set the delta.

Usually the delta value is mesured from the time took by the recomputation function. However, if the recomputation function does not reflect the actual time required (for example, a asynchronous computation), then the delta value can be set via this method.

The reference of the value returned by the recomputation function is passed to the closure.

Source

pub fn with_ttl<F>(self, f: F) -> CacheEntryBuilder<T>
where F: FnOnce(&T) -> Duration,

Set the ttl.

The reference of the value returned by the recomputation function is passed to the closure.

If the ttl is not set then the cache entry will become a eternal cache entry that will never expire.

Source

pub fn with_beta(self, beta: f32) -> CacheEntryBuilder<T>

Set the beta value.

Beta value > 1.0 favors more eager early expiration, value < 1.0 favors lazier early expiration.

The default value 1.0 is usually the optimal value for most use cases.

Source

pub fn build(self) -> CacheEntry<T>

Return a new CacheEntry with the supplied parameters.

Auto Trait Implementations§

§

impl<T> Freeze for CacheEntryBuilder<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for CacheEntryBuilder<T>
where T: RefUnwindSafe,

§

impl<T> Send for CacheEntryBuilder<T>
where T: Send,

§

impl<T> Sync for CacheEntryBuilder<T>
where T: Sync,

§

impl<T> Unpin for CacheEntryBuilder<T>
where T: Unpin,

§

impl<T> UnwindSafe for CacheEntryBuilder<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V