MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / insert_l2

Method insert_l2

graphlite/src/cache/result_cache.rs:366–387  ·  view source on GitHub ↗
(&self, key: QueryCacheKey, mut entry: QueryResultEntry)

Source from the content-addressed store, hash-verified

364 }
365
366 fn insert_l2(&self, key: QueryCacheKey, mut entry: QueryResultEntry) {
367 entry.metadata.level = CacheLevel::L2;
368 let size = entry.size_bytes();
369
370 // Evict if necessary
371 self.evict_l2_if_needed(size);
372
373 {
374 let mut l2_cache = self.l2_cache.write().unwrap();
375 l2_cache.insert(key.clone(), entry);
376 }
377
378 {
379 let mut l2_lru = self.l2_lru.write().unwrap();
380 l2_lru.access(&key);
381 }
382
383 {
384 let mut current_memory = self.l2_current_memory.write().unwrap();
385 *current_memory += size;
386 }
387 }
388
389 fn evict_l1_if_needed(&self, incoming_size: usize) {
390 let current_memory = *self.l1_current_memory.read().unwrap();

Callers 2

insertMethod · 0.80
evict_l1_if_neededMethod · 0.80

Calls 6

evict_l2_if_neededMethod · 0.80
unwrapMethod · 0.80
cloneMethod · 0.80
accessMethod · 0.80
size_bytesMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected