[][src]Struct xfetch::CacheEntryBuilder

pub struct CacheEntryBuilder<T> { /* fields omitted */ }

The builder for building CacheEntry with supplied parameters.

Implementations

impl<T> CacheEntryBuilder<T>[src]

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

Return a new CacheEntryBuilder.

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

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

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.

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

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.

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

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.

pub fn build(self) -> CacheEntry<T>[src]

Return a new CacheEntry with the supplied parameters.

Auto Trait Implementations

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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