in core/src/services/moka/backend.rs [156:181]
fn build(&mut self) -> Result<Self::Accessor> {
debug!("backend build started: {:?}", &self);
let mut builder: CacheBuilder<String, typed_kv::Value, _> =
SegmentedCache::builder(self.num_segments.unwrap_or(1))
.thread_pool_enabled(self.thread_pool_enabled.unwrap_or(false));
// Use entries' bytes as capacity weigher.
builder = builder.weigher(|k, v| (k.len() + v.size()) as u32);
if let Some(v) = &self.name {
builder = builder.name(v);
}
if let Some(v) = self.max_capacity {
builder = builder.max_capacity(v)
}
if let Some(v) = self.time_to_live {
builder = builder.time_to_live(v)
}
if let Some(v) = self.time_to_idle {
builder = builder.time_to_idle(v)
}
debug!("backend build finished: {:?}", &self);
Ok(MokaBackend::new(Adapter {
inner: builder.build(),
}))
}