upipe/umem_pool.h header reference

Upipe pool-based memory allocator More

Header inclusion  

Members  

Functions  

Description  

This memory allocator keeps released memory blocks in pools organized by power of 2's sizes, and reverts to malloc() and free() if the pool underflows or overflows.

Members detail  

#define _UPIPE_UMEM_POOL_H_  

This macro is declared in upipe/umem_pool.h source file, line 34.

struct umem_mgr * umem_pool_mgr_alloc(size_t pool0_size, size_t nb_pools, ...)  

This function is declared in upipe/umem_pool.h source file, line 53.

This function allocates a new instance of the umem pool manager allocating buffers from application memory, using pools in power of 2's.

Parameter list:

  • pool0_size: size (in octets) of the smallest allocatable buffer; it must be a power of 2
  • nb_pools: number of buffer pools to maintain, with sizes in power of 2's increments, followed, for each pool, by the maximum number of buffers to keep in the pool (unsigned int); larger buffers will be directly managed with malloc() and free()

The return value is pointer to manager, or NULL in case of error

struct umem_mgr * umem_pool_mgr_alloc_simple(uint16_t base_pools_depth)  

This function is declared in upipe/umem_pool.h source file, line 63.

This function allocates a new instance of the umem pool manager allocating buffers from application memory, using pools in power of 2's, with a simpler API.

Parameter list:

  • base_pools_depth: number of buffers to keep in the pool for the smaller buffers; for larger buffers the same number is used, divided by 2, 4, or 8

The return value is pointer to manager, or NULL in case of error

Valid XHTML 1.0 StrictGenerated by cmassiot on Fri Feb 2 23:57:19 2018 using MkDoc