pub struct MemoizedFunction<Args, Result> { /* private fields */ }Expand description
Creates a memoized function that returns cached values while refreshing in parallel. This implements a write-through cache pattern:
- If cache is fresh, return immediately
- If cache is stale, return the stale value but refresh it in the background
- If no cache exists, block and compute the value
Implementations§
Source§impl<Args, Result> MemoizedFunction<Args, Result>
impl<Args, Result> MemoizedFunction<Args, Result>
Auto Trait Implementations§
impl<Args, Result> Freeze for MemoizedFunction<Args, Result>
impl<Args, Result> !RefUnwindSafe for MemoizedFunction<Args, Result>
impl<Args, Result> Send for MemoizedFunction<Args, Result>
impl<Args, Result> Sync for MemoizedFunction<Args, Result>
impl<Args, Result> Unpin for MemoizedFunction<Args, Result>
impl<Args, Result> UnsafeUnpin for MemoizedFunction<Args, Result>
impl<Args, Result> !UnwindSafe for MemoizedFunction<Args, Result>
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