Skip to main content

firestore/cache/
options.rs

1use rsb_derive::Builder;
2use rvstruct::ValueStruct;
3
4/// A name identifying a cache instance.
5///
6/// It appears in this crate's log and tracing output, which is what makes it worth setting when
7/// an application runs more than one cache.
8#[derive(Clone, Debug, Eq, PartialEq, Hash, ValueStruct)]
9pub struct FirestoreCacheName(String);
10
11/// Options for a [`FirestoreCache`](crate::FirestoreCache).
12///
13/// Prefer configuring these through the builder - [`FirestoreCache::memory`](crate::FirestoreCache::memory)
14/// or [`FirestoreCache::persistent`](crate::FirestoreCache::persistent) - rather than
15/// constructing this type directly.
16#[derive(Debug, Eq, PartialEq, Clone, Builder)]
17pub struct FirestoreCacheOptions {
18    /// The name of this cache instance.
19    pub name: FirestoreCacheName,
20    /// Options for the Firestore listener that keeps the cache up to date, such as its retry
21    /// delay. When unset, the listener defaults are used.
22    pub listener_params: Option<crate::FirestoreListenerParams>,
23}