pub struct CacheEntry {
pub bindings: Vec<HashMap<String, String>>,
pub is_final: bool,
pub inserted_at: Instant,
pub ttl: Duration,
pub hit_count: u64,
}Expand description
A single cached inference result.
Fields§
§bindings: Vec<HashMap<String, String>>Variable bindings produced by the inference engine.
is_final: booltrue if the result is definitive (no further answers possible).
inserted_at: InstantWall-clock instant at which this entry was inserted.
ttl: DurationMaximum time this entry may be retained.
hit_count: u64Number of times this entry has been returned via VersionedInferenceCache::get.
Implementations§
Source§impl CacheEntry
impl CacheEntry
Sourcepub fn new(bindings: Vec<HashMap<String, String>>, is_final: bool) -> Self
pub fn new(bindings: Vec<HashMap<String, String>>, is_final: bool) -> Self
Create a new CacheEntry with the default TTL (5 minutes).
Sourcepub fn with_ttl(
bindings: Vec<HashMap<String, String>>,
is_final: bool,
ttl: Duration,
) -> Self
pub fn with_ttl( bindings: Vec<HashMap<String, String>>, is_final: bool, ttl: Duration, ) -> Self
Create a new CacheEntry with a custom TTL.
Sourcepub fn is_expired(&self, now: Instant) -> bool
pub fn is_expired(&self, now: Instant) -> bool
Returns true if this entry’s TTL has elapsed relative to now.
Trait Implementations§
Source§impl Clone for CacheEntry
impl Clone for CacheEntry
Source§fn clone(&self) -> CacheEntry
fn clone(&self) -> CacheEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CacheEntry
impl RefUnwindSafe for CacheEntry
impl Send for CacheEntry
impl Sync for CacheEntry
impl Unpin for CacheEntry
impl UnsafeUnpin for CacheEntry
impl UnwindSafe for CacheEntry
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more