13 #ifndef JABBERWERX_UTIL_WORKQ_H
14 #define JABBERWERX_UTIL_WORKQ_H
26 #define JW_WORKQ_CONFIG_SELECTOR "selector"
#define JABBERWERX_API
Definition: basics.h:32
JABBERWERX_API uint64_t jw_workq_item_get_delay(jw_workq_item *item)
JABBERWERX_API void jw_workq_destroy(jw_workq *q)
JABBERWERX_API void jw_workq_item_set_data(jw_workq_item *item, void *data, jw_workq_item_cleaner cleaner)
JABBERWERX_API void jw_workq_pause(jw_workq *q)
JABBERWERX_API void jw_workq_item_free_data_cleaner(jw_workq_item *item, void *data)
void(* jw_workq_func)(jw_workq_item *item, void *data)
Definition: workq.h:43
JABBERWERX_API bool jw_workq_item_create(jw_workq *q, jw_workq_func fn, jw_workq_item **item, jw_err *err)
JABBERWERX_API struct event_base * jw_workq_get_selector(jw_workq *q)
JABBERWERX_API void jw_workq_item_pool_cleaner(jw_workq_item *item, void *data)
void(* jw_workq_item_cleaner)(jw_workq_item *item, void *data)
Definition: workq.h:55
JABBERWERX_API jw_workq * jw_workq_item_get_workq(jw_workq_item *item)
JABBERWERX_API bool jw_workq_is_empty(jw_workq *q)
struct jw_workq_t jw_workq
Definition: workq.h:30
struct jw_workq_item_t jw_workq_item
Definition: workq.h:33
JABBERWERX_API size_t jw_workq_get_length(jw_workq *q)
JABBERWERX_API bool jw_workq_item_is_scheduled(jw_workq_item *item)
JABBERWERX_API void jw_workq_item_destroy(jw_workq_item *item)
JABBERWERX_API void jw_workq_item_cancel(jw_workq_item *item)
JABBERWERX_API void * jw_workq_item_get_data(jw_workq_item *item)
struct _jw_htable jw_htable
Definition: htable.h:27
JABBERWERX_API bool jw_workq_item_set_delay(jw_workq_item *item, uint64_t msecs, jw_err *err)
JABBERWERX_API bool jw_workq_item_append(jw_workq_item *item, jw_err *err)
JABBERWERX_API bool jw_workq_create(jw_htable *config, jw_workq **q, jw_err *err)
JABBERWERX_API void jw_workq_resume(jw_workq *q)
JABBERWERX_API bool jw_workq_item_prepend(jw_workq_item *item, jw_err *err)
Datatypes and functions for hashtables.