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}