pub struct CacheEntry {
pub cid: String,
pub data: Vec<u8>,
pub inserted_at: u64,
pub last_accessed: u64,
pub access_count: u64,
pub ttl_us: Option<u64>,
pub size_bytes: usize,
pub tags: Vec<String>,
}Expand description
A single entry stored in the cache.
Fields§
§cid: StringContent-derived identifier.
data: Vec<u8>Raw payload.
inserted_at: u64Microsecond timestamp at insertion time.
last_accessed: u64Microsecond timestamp of most-recent access.
access_count: u64Total number of times this entry has been retrieved.
ttl_us: Option<u64>Optional TTL in microseconds (measured from inserted_at).
size_bytes: usizePayload size in bytes (mirrors data.len()).
Arbitrary string tags for group-based operations.
Implementations§
Source§impl CacheEntry
impl CacheEntry
Sourcepub fn is_expired(&self, now: u64) -> bool
pub fn is_expired(&self, now: u64) -> bool
Return true when the entry has passed its TTL deadline.
Sourcepub fn remaining_ttl_us(&self, now: u64) -> u64
pub fn remaining_ttl_us(&self, now: u64) -> u64
Remaining TTL in microseconds, or u64::MAX for entries without TTL.
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 moreSource§impl Debug for CacheEntry
impl Debug for CacheEntry
impl Eq for CacheEntry
Source§impl PartialEq for CacheEntry
impl PartialEq for CacheEntry
Source§fn eq(&self, other: &CacheEntry) -> bool
fn eq(&self, other: &CacheEntry) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CacheEntry
Auto 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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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