|
Veritable Lasagna
An Allocator & Data Structure Library for C.
|
Include dependency graph for vl_async_pool.c:Macros | |
| #define | VL_ASYNC_POOL_BLOCK_MIN (1 << 4) |
| #define | VL_ASYNC_POOL_BLOCK_MAX (1 << 16) |
Functions | |
| void | vlAsyncPoolInit (vl_async_pool *pool, vl_uint16_t elementSize) |
| Initializes the specified async pool. | |
| void | vlAsyncPoolFree (vl_async_pool *pool) |
| Frees the specified async pool, and all associated memory. | |
| vl_async_pool * | vlAsyncPoolNew (vl_uint16_t elementSize) |
| Allocates and initializes a new async pool. | |
| void | vlAsyncPoolDelete (vl_async_pool *pool) |
| Deinitializes and deletes the specified async pool, and all associated memory. | |
| void | vlAsyncPoolReset (vl_async_pool *pool) |
| Resets the specified async pool, returning it to its state when it was first initialized. | |
| void | vlAsyncPoolClear (vl_async_pool *pool) |
| Resets the state of all blocks and the pool, retaining memory but invalidating taken elements. | |
| void * | vlAsyncPoolTake (vl_async_pool *pool) |
| Takes an element from the specified async pool. | |
| void | vlAsyncPoolReturn (vl_async_pool *pool, void *element) |
| Returns an element to the specified async pool. | |
Variables | |
| const vl_ularge_t | VL_ASYNC_POOL_BLOCK_ALIGNMENT = 32 |
| Byte-level alignment of individual vlAsyncPool memory blocks. | |
| const vl_ularge_t | VL_ASYNC_POOL_NODE_ALIGNMENT = 16 |
| Byte-level alignment of individual vlAsyncPool element nodes. | |
| #define VL_ASYNC_POOL_BLOCK_MAX (1 << 16) |
| #define VL_ASYNC_POOL_BLOCK_MIN (1 << 4) |
| void vlAsyncPoolClear | ( | vl_async_pool * | pool | ) |
Resets the state of all blocks and the pool, retaining memory but invalidating taken elements.
This does not free any associated memory.
| pool | pointer to the async pool to clear |
Here is the caller graph for this function:| void vlAsyncPoolDelete | ( | vl_async_pool * | pool | ) |
Deinitializes and deletes the specified async pool, and all associated memory.
The specified pool must have been initialized via vlAsyncPoolNew.
| pool | pointer to async pool to delete |
Here is the call graph for this function:| void vlAsyncPoolFree | ( | vl_async_pool * | pool | ) |
Frees the specified async pool, and all associated memory.
The pool must have been initialized via vlAsyncPoolInit.
| pool |
Here is the call graph for this function:
Here is the caller graph for this function:| void vlAsyncPoolInit | ( | vl_async_pool * | pool, |
| vl_uint16_t | elementSize ) |
Initializes the specified async pool.
The pool must be later freed via vlAsyncPoolFree.
| pool | pointer to pool that will be initialized |
| elementSize | total size of a single element, in bytes. |
Here is the caller graph for this function:| vl_async_pool * vlAsyncPoolNew | ( | vl_uint16_t | elementSize | ) |
Allocates and initializes a new async pool.
The specified pool must later be deleted via vlAsyncPoolDelete.
| elementSize |
Here is the call graph for this function:| void vlAsyncPoolReset | ( | vl_async_pool * | pool | ) |
Resets the specified async pool, returning it to its state when it was first initialized.
This frees all allocated blocks of nodes up to the first.
| pool | pointer to the async pool to reset |
Here is the call graph for this function:
Here is the caller graph for this function:| void vlAsyncPoolReturn | ( | vl_async_pool * | pool, |
| void * | element ) |
Returns an element to the specified async pool.
| pool | pointer to async pool |
| element | pointer to returned element |
Here is the caller graph for this function:| void * vlAsyncPoolTake | ( | vl_async_pool * | pool | ) |
Takes an element from the specified async pool.
| pool | pointer to async pool |
Here is the caller graph for this function:| const vl_ularge_t VL_ASYNC_POOL_BLOCK_ALIGNMENT = 32 |
Byte-level alignment of individual vlAsyncPool memory blocks.
| const vl_ularge_t VL_ASYNC_POOL_NODE_ALIGNMENT = 16 |
Byte-level alignment of individual vlAsyncPool element nodes.