lv_lru.h
API reference for lv_lru.h
Functions
private/misc/lv_lru.h:62function
lv_lru_set
lv_lru_res_t lv_lru_set(lv_lru_t *cache, const void *key, size_t key_length, void *value, size_t value_length)| Name | Type |
|---|---|
cache | lv_lru_t * |
key | const void * |
key_length | size_t |
value | void * |
value_length | size_t |
private/misc/lv_lru.h:64function
lv_lru_get
lv_lru_res_t lv_lru_get(lv_lru_t *cache, const void *key, size_t key_size, void **value)| Name | Type |
|---|---|
cache | lv_lru_t * |
key | const void * |
key_size | size_t |
value | void ** |
private/misc/lv_lru.h:57function
lv_lru_create
lv_lru_t * lv_lru_create(size_t cache_size, size_t average_length, lv_lru_free_cb_t value_free, lv_lru_free_cb_t key_free)| Name | Type |
|---|---|
cache_size | size_t |
average_length | size_t |
value_free | lv_lru_free_cb_t |
key_free | lv_lru_free_cb_t |
private/misc/lv_lru.h:60function
lv_lru_delete
void lv_lru_delete(lv_lru_t *cache)| Name | Type |
|---|---|
cache | lv_lru_t * |
private/misc/lv_lru.h:66function
lv_lru_remove
lv_lru_res_t lv_lru_remove(lv_lru_t *cache, const void *key, size_t key_size)| Name | Type |
|---|---|
cache | lv_lru_t * |
key | const void * |
key_size | size_t |
private/misc/lv_lru.h:73function
lv_lru_remove_lru_item
remove the least recently used item
> Todo: we can optimise this by finding the n lru items, where n = required_space / average_length
void lv_lru_remove_lru_item(lv_lru_t *cache)| Name | Type |
|---|---|
cache | lv_lru_t * |
Enums
lv_lru_res_t
| Name | Value |
|---|---|
LV_LRU_OK | 0 |
LV_LRU_MISSING_CACHE | |
LV_LRU_MISSING_KEY | |
LV_LRU_MISSING_VALUE | |
LV_LRU_LOCK_ERROR | |
LV_LRU_VALUE_TOO_LARGE |
Structs
struct
_lv_lru_t
| Member | Type | Description |
|---|---|---|
items | lv_lru_item_t ** | |
access_count | uint64_t | |
free_memory | size_t | |
total_memory | size_t | |
average_item_length | size_t | |
hash_table_size | size_t | |
seed | uint32_t | |
value_free | lv_lru_free_cb_t | |
key_free | lv_lru_free_cb_t | |
free_items | lv_lru_item_t * |
Typedefs
private/misc/lv_lru.h:36typedef
lv_lru_free_cb_t
typedef void(* lv_lru_free_cb_t) (void *v)Used by 2 functions
lv_lru_create— paramvalue_freelv_lru_create— paramkey_free
private/misc/lv_lru.h:38typedef
lv_lru_item_t
typedef struct _lv_lru_item_t lv_lru_item_tprivate/misc/lv_lru.h:51typedef
lv_lru_t
typedef struct _lv_lru_t lv_lru_tUsed by 5 functions
lv_lru_delete— paramcachelv_lru_set— paramcachelv_lru_get— paramcachelv_lru_remove— paramcachelv_lru_remove_lru_item— paramcache
Dependencies
lvgl_public.h
Last updated on