* @brief remove an object from the cache * this is different from cache_evict because it is used to for user trigger * remove, and eviction is used by the cache to make space for new objects * * it needs to call cache_remove_obj_base before returning * which updates some metadata such as n_obj, occupied size, and hash table * * @param cache * @param obj_id * @return true if the object is
| 266 | * cache |
| 267 | */ |
| 268 | static bool Clock_remove(cache_t *cache, const obj_id_t obj_id) { |
| 269 | cache_obj_t *obj = hashtable_find_obj_id(cache->hashtable, obj_id); |
| 270 | if (obj == NULL) { |
| 271 | return false; |
| 272 | } |
| 273 | |
| 274 | Clock_remove_obj(cache, obj); |
| 275 | |
| 276 | return true; |
| 277 | } |
| 278 | |
| 279 | // *********************************************************************** |
| 280 | // **** **** |
nothing calls this directly
no test coverage detected