(&self, old_counter: u32, new_counter: u32, key: u64)
| 57 | } |
| 58 | |
| 59 | fn on_cache_hit(&self, old_counter: u32, new_counter: u32, key: u64) { |
| 60 | let i = Self::idx(old_counter); |
| 61 | if self.inner[i].load(Ordering::SeqCst) == key { |
| 62 | self.clear(i); |
| 63 | let j = Self::idx(new_counter); |
| 64 | if self.is_empty(j) { |
| 65 | self.inner[j].store(key, Ordering::SeqCst); |
| 66 | } |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | fn get_keys(&self, max: u8) -> Vec<(u8, u64)> { |
| 71 | let mut result = vec![]; |