for (auto& mc : maps) {
const typename C::lock l(mc);
- mc.d_cachecachevalid = false;
+ mc.invalidate();
auto& sidx = boost::multi_index::get<S>(mc.d_map);
uint64_t erased = 0, lookedAt = 0;
for (auto i = sidx.begin(); i != sidx.end(); lookedAt++) {
size_t pershard = toTrim / maps_size + 1;
for (auto& mc : maps) {
const typename C::lock l(mc);
- mc.d_cachecachevalid = false;
+ mc.invalidate();
auto& sidx = boost::multi_index::get<S>(mc.d_map);
size_t removed = 0;
for (auto i = sidx.begin(); i != sidx.end() && removed < pershard; removed++) {
std::atomic<uint64_t> d_entriesCount{0};
uint64_t d_contended_count{0};
uint64_t d_acquired_count{0};
+
+ void invalidate()
+ {
+ d_cachecachevalid = false;
+ }
};
vector<MapCombo> d_maps;
std::atomic<uint64_t> d_entriesCount{0};
mutable uint64_t d_contended_count{0};
mutable uint64_t d_acquired_count{0};
- bool d_cachecachevalid{false}; // XXX
+ void invalidate() {}
};
vector<MapCombo> d_maps;