MCPcopy Create free account
hub / github.com/Luce-Org/lucebox-hub / lookup_full

Method lookup_full

server/src/server/prefix_cache.cpp:380–399  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

378 ids_lru.reserve(entries_.size());
379 protected_lru.reserve(entries_.size());
380 for (const auto & e : entries_) {
381 ids_lru.push_back(&e.ids);
382 protected_lru.push_back(e.protect);
383 }
384 int victim = select_inline_evict_victim(ids_lru, &protected_lru);
385 pending_evict_key_ = entries_[victim].hash;
386 has_pending_evict_ = true;
387 slot = entries_[victim].slot;
388 if (victim != 0 || entries_[victim].protect) {
389 std::fprintf(stderr,
390 "[pc] prefix-aware evict: victim idx=%d protect=%d (len=%zu) "
391 "kept oldest ancestor (len=%zu)\n",
392 victim, (int)entries_[victim].protect,
393 entries_[victim].ids.size(), entries_.front().ids.size());
394 }
395 } else {
396 slot = next_slot_;
397 next_slot_ = (next_slot_ + 1) % cap_;
398 has_pending_evict_ = false;
399 }
400
401 return {slot, target_cut};
402}

Callers 1

worker_loopMethod · 0.80

Calls 4

hash_prefixFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected