23#include "xtc_export.h"
30typedef struct xtc_pool xtc_pool_t;
44XTC_API
int xtc_pool_create(
size_t capacity, xtc_pool_t **out);
49XTC_API
void xtc_pool_destroy(xtc_pool_t *p);
53XTC_API
int xtc_pool_add(xtc_pool_t *p,
void *resource);
59XTC_API
int xtc_pool_checkout(xtc_pool_t *p, int64_t timeout_ns,
void **out);
63XTC_API
int xtc_pool_checkin(xtc_pool_t *p,
void *resource);
66XTC_API
size_t xtc_pool_available(
const xtc_pool_t *p);
69XTC_API
size_t xtc_pool_capacity(
const xtc_pool_t *p);