Lines Matching refs:cache

64     lv_cache_t cache;  member
77 static bool init_cnt_cb(lv_cache_t * cache);
78 static bool init_size_cb(lv_cache_t * cache);
79 static void destroy_cb(lv_cache_t * cache, void * user_data);
81 static lv_cache_entry_t * get_cb(lv_cache_t * cache, const void * key, void * user_data);
82 static lv_cache_entry_t * add_cb(lv_cache_t * cache, const void * key, void * user_data);
83 static void remove_cb(lv_cache_t * cache, lv_cache_entry_t * entry, void * user_data);
84 static void drop_cb(lv_cache_t * cache, const void * key, void * user_data);
85 static void drop_all_cb(lv_cache_t * cache, void * user_data);
86 static lv_cache_entry_t * get_victim_cb(lv_cache_t * cache, void * user_data);
87 static lv_cache_reserve_cond_res_t reserve_cond_cb(lv_cache_t * cache, const void * key, size_t res…
96 static lv_iter_t * cache_iter_create_cb(lv_cache_t * cache);
162 lv_cache_entry_t * entry = lv_cache_entry_get_entry(data, lru->cache.node_size); in alloc_new_node()
163 lv_memcpy(data, key, lru->cache.node_size); in alloc_new_node()
172 lv_cache_entry_init(entry, &lru->cache, lru->cache.node_size); in alloc_new_node()
200 static bool init_cnt_cb(lv_cache_t * cache) in init_cnt_cb() argument
202 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in init_cnt_cb()
204 LV_ASSERT_NULL(lru->cache.ops.compare_cb); in init_cnt_cb()
205 LV_ASSERT_NULL(lru->cache.ops.free_cb); in init_cnt_cb()
206 LV_ASSERT(lru->cache.node_size > 0); in init_cnt_cb()
208 …if(lru->cache.node_size <= 0 || lru->cache.ops.compare_cb == NULL || lru->cache.ops.free_cb == NUL… in init_cnt_cb()
213 …if(!lv_rb_init(&lru->rb, lru->cache.ops.compare_cb, lv_cache_entry_get_size(lru->cache.node_size) … in init_cnt_cb()
223 static bool init_size_cb(lv_cache_t * cache) in init_size_cb() argument
225 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in init_size_cb()
227 LV_ASSERT_NULL(lru->cache.ops.compare_cb); in init_size_cb()
228 LV_ASSERT_NULL(lru->cache.ops.free_cb); in init_size_cb()
229 LV_ASSERT(lru->cache.node_size > 0); in init_size_cb()
231 …if(lru->cache.node_size <= 0 || lru->cache.ops.compare_cb == NULL || lru->cache.ops.free_cb == NUL… in init_size_cb()
236 …if(!lv_rb_init(&lru->rb, lru->cache.ops.compare_cb, lv_cache_entry_get_size(lru->cache.node_size) … in init_size_cb()
246 static void destroy_cb(lv_cache_t * cache, void * user_data) in destroy_cb() argument
250 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in destroy_cb()
258 cache->clz->drop_all_cb(cache, user_data); in destroy_cb()
261 static lv_cache_entry_t * get_cb(lv_cache_t * cache, const void * key, void * user_data) in get_cb() argument
265 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in get_cb()
279 lv_cache_entry_t * entry = lv_cache_entry_get_entry(data, cache->node_size); in get_cb()
280 if(lru->cache.ops.compare_cb(data, key) == 0) { in get_cb()
292 lv_cache_entry_t * entry = lv_cache_entry_get_entry(node->data, cache->node_size); in get_cb()
298 static lv_cache_entry_t * add_cb(lv_cache_t * cache, const void * key, void * user_data) in add_cb() argument
302 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in add_cb()
316 lv_cache_entry_t * entry = lv_cache_entry_get_entry(new_node->data, cache->node_size); in add_cb()
318 cache->size += lru->get_data_size_cb(key); in add_cb()
323 static void remove_cb(lv_cache_t * cache, lv_cache_entry_t * entry, void * user_data) in remove_cb() argument
327 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in remove_cb()
347 cache->size -= lru->get_data_size_cb(data); in remove_cb()
350 static void drop_cb(lv_cache_t * cache, const void * key, void * user_data) in drop_cb() argument
352 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in drop_cb()
368 lru->cache.ops.free_cb(data, user_data); in drop_cb()
369 cache->size -= lru->get_data_size_cb(data); in drop_cb()
371 lv_cache_entry_t * entry = lv_cache_entry_get_entry(data, cache->node_size); in drop_cb()
381 static void drop_all_cb(lv_cache_t * cache, void * user_data) in drop_all_cb() argument
383 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in drop_all_cb()
396 lv_cache_entry_t * entry = lv_cache_entry_get_entry(search_key, cache->node_size); in drop_all_cb()
398 lru->cache.ops.free_cb(search_key, user_data); in drop_all_cb()
412 cache->size = 0; in drop_all_cb()
415 static lv_cache_entry_t * get_victim_cb(lv_cache_t * cache, void * user_data) in get_victim_cb() argument
419 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in get_victim_cb()
426 lv_cache_entry_t * entry = lv_cache_entry_get_entry(tail_node->data, cache->node_size); in get_victim_cb()
435 static lv_cache_reserve_cond_res_t reserve_cond_cb(lv_cache_t * cache, const void * key, size_t res… in reserve_cond_cb() argument
440 lv_lru_rb_t_ * lru = (lv_lru_rb_t_ *)cache; in reserve_cond_cb()
449 if(data_size > lru->cache.max_size) { in reserve_cond_cb()
450 …a size (%" LV_PRIu32 ") is larger than max size (%" LV_PRIu32 ")", data_size, lru->cache.max_size); in reserve_cond_cb()
454 return cache->size + reserved_size + data_size > lru->cache.max_size in reserve_cond_cb()
471 static lv_iter_t * cache_iter_create_cb(lv_cache_t * cache) in cache_iter_create_cb() argument
473 …return lv_iter_create(cache, lv_cache_entry_get_size(cache->node_size), sizeof(void *), cache_iter… in cache_iter_create_cb()
490 uint32_t node_size = lru->cache.node_size; in cache_iter_next_cb()