#endif
typedef void *(*bt_object_pool_new_object_func)(void *data);
-typedef void *(*bt_object_pool_destroy_object_func)(void *obj, void *data);
+typedef void (*bt_object_pool_destroy_object_func)(void *obj, void *data);
struct bt_object_pool {
/*
/*
* Initializes an object pool which is already allocated.
*/
+BT_HIDDEN
int bt_object_pool_initialize(struct bt_object_pool *pool,
bt_object_pool_new_object_func new_object_func,
bt_object_pool_destroy_object_func destroy_object_func,
/*
* Finalizes an object pool without deallocating it.
*/
+BT_HIDDEN
void bt_object_pool_finalize(struct bt_object_pool *pool);
/*
{
struct bt_object *obj;
- BT_ASSERT(pool);
+ BT_ASSERT_DBG(pool);
BT_LOGT("Creating object from pool: pool-addr=%p, pool-size=%zu, pool-cap=%u",
pool, pool->size, pool->objects->len);
{
struct bt_object *bt_obj = obj;
- BT_ASSERT(pool);
- BT_ASSERT(obj);
+ BT_ASSERT_DBG(pool);
+ BT_ASSERT_DBG(obj);
BT_LOGT("Recycling object: pool-addr=%p, pool-size=%zu, pool-cap=%u, obj-addr=%p",
pool, pool->size, pool->objects->len, obj);