pub struct Cache { /* private fields */ }Expand description
Cache for a service.
Implementations§
Source§impl Cache
impl Cache
Sourcepub async fn lookup(&self, key: &CacheKey, headers: &HeaderMap) -> CacheEntry
pub async fn lookup(&self, key: &CacheKey, headers: &HeaderMap) -> CacheEntry
Perform a non-transactional lookup.
Sourcepub async fn transaction_lookup(
&self,
key: &CacheKey,
headers: &HeaderMap,
ok_to_wait: bool,
) -> CacheEntry
pub async fn transaction_lookup( &self, key: &CacheKey, headers: &HeaderMap, ok_to_wait: bool, ) -> CacheEntry
Perform a transactional lookup.
Sourcepub async fn insert(
&self,
key: &CacheKey,
request_headers: HeaderMap,
options: WriteOptions,
body: Body,
)
pub async fn insert( &self, key: &CacheKey, request_headers: HeaderMap, options: WriteOptions, body: Body, )
Perform a non-transactional lookup for the given cache key. Note: races with other insertions, including transactional insertions. Last writer wins!
Sourcepub fn purge(&self, key: SurrogateKey, soft_purge: bool) -> usize
pub fn purge(&self, key: SurrogateKey, soft_purge: bool) -> usize
Purge/soft-purge all cache entries corresponding to the given surrogate key. Returns the number of entries (variants) purged.
Note: this does not block concurrent reads or inserts; an insertion can race with the purge.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Cache
impl !RefUnwindSafe for Cache
impl Send for Cache
impl Sync for Cache
impl Unpin for Cache
impl !UnwindSafe for Cache
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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