ChibiOS
21.6.0
|
Objects Caches macros and structures. More...
Go to the source code of this file.
Data Structures | |
struct | ch_oc_hash_header |
Structure representing an hash table element. More... | |
struct | ch_oc_lru_header |
Structure representing an hash table element. More... | |
struct | ch_oc_object |
Structure representing a cached object. More... | |
struct | ch_objects_cache |
Structure representing a cache object. More... | |
Typedefs | |
typedef uint32_t | oc_flags_t |
Flags of cached objects. More... | |
typedef struct ch_oc_hash_header | oc_hash_header_t |
Type of an hash element header. More... | |
typedef struct ch_oc_lru_header | oc_lru_header_t |
Type of an LRU element header. More... | |
typedef struct ch_oc_object | oc_object_t |
Type of a cached object. More... | |
typedef struct ch_objects_cache | objects_cache_t |
Type of a cache object. More... | |
typedef bool(* | oc_readf_t) (objects_cache_t *ocp, oc_object_t *objp, bool async) |
Object read function. More... | |
typedef bool(* | oc_writef_t) (objects_cache_t *ocp, oc_object_t *objp, bool async) |
Object write function. More... | |
Functions | |
void | chCacheObjectInit (objects_cache_t *ocp, ucnt_t hashn, oc_hash_header_t *hashp, ucnt_t objn, size_t objsz, void *objvp, oc_readf_t readf, oc_writef_t writef) |
Initializes a objects_cache_t object. More... | |
oc_object_t * | chCacheGetObject (objects_cache_t *ocp, uint32_t group, uint32_t key) |
Retrieves an object from the cache. More... | |
void | chCacheReleaseObjectI (objects_cache_t *ocp, oc_object_t *objp) |
Releases an object into the cache. More... | |
bool | chCacheReadObject (objects_cache_t *ocp, oc_object_t *objp, bool async) |
Reads object data from the storage. More... | |
bool | chCacheWriteObject (objects_cache_t *ocp, oc_object_t *objp, bool async) |
Writes the object data back to storage. More... | |
static void | chCacheReleaseObject (objects_cache_t *ocp, oc_object_t *objp) |
Releases an object into the cache. More... | |
Objects Caches macros and structures.
Definition in file chobjcaches.h.