#ifndef POOL_H
#define POOL_H
#if defined (__cplusplus)
extern "C" {
#endif
#include <stddef.h>
typedef struct POOL_ctx_s POOL_ctx;
POOL_ctx* POOL_create(size_t numThreads, size_t queueSize);
void POOL_free(POOL_ctx* ctx);
int POOL_resize(POOL_ctx* ctx, size_t numThreads);
size_t POOL_sizeof(POOL_ctx* ctx);
typedef void (*POOL_function)(void*);
void POOL_add(POOL_ctx* ctx, POOL_function function, void* opaque);
int POOL_tryAdd(POOL_ctx* ctx, POOL_function function, void* opaque);
#if defined (__cplusplus)
}
#endif
#endif