![]() |
PokerUnicorn
|
Event loop and task management things. More...
Data Structures | |
struct | pkrsrv_eventloop_t |
struct | pkrsrv_eventloop_tasks_t |
struct | pkrsrv_eventloop_task_t |
Event loop and task management things.
struct pkrsrv_eventloop |
Event loop structure
Public Member Functions | |
pkrsrv_eventloop_t * | pkrsrv_eventloop_new () |
void | pkrsrv_eventloop_free (pkrsrv_eventloop_t *eventloop) |
void | pkrsrv_eventloop_run (pkrsrv_eventloop_t *eventloop) |
void | pkrsrv_eventloop_stop (pkrsrv_eventloop_t *eventloop) |
pkrsrv_eventloop_task_t * | pkrsrv_eventloop_call (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_func_t fn, void *params) |
pkrsrv_eventloop_task_t * | pkrsrv_eventloop_call_after (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_func_t func, void *params, int delay) |
pkrsrv_eventloop_task_t * | pkrsrv_eventloop_call_immediate (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_func_t func, void *params) |
pkrsrv_eventloop_task_t * | pkrsrv_eventloop_call_immediate_after (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_func_t func, void *params, int delay) |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pthread_mutex_t | mutex |
pthread_cond_t | cond |
bool | is_running |
pkrsrv_eventloop_tasks_t * | tasks |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_eventloop_t::ref_counted |
pthread_mutex_t pkrsrv_eventloop_t::mutex |
pthread_cond_t pkrsrv_eventloop_t::cond |
bool pkrsrv_eventloop_t::is_running |
pkrsrv_eventloop_tasks_t* pkrsrv_eventloop_t::tasks |
struct pkrsrv_eventloop_tasks |
Event loop tasks list structure
Public Member Functions | |
pkrsrv_eventloop_tasks_t * | pkrsrv_eventloop_tasks_new () |
void | pkrsrv_eventloop_tasks_free (pkrsrv_eventloop_tasks_t *tasks) |
void | pkrsrv_eventloop_tasks_push (pkrsrv_eventloop_tasks_t *tasks, pkrsrv_eventloop_task_t *task) |
void | pkrsrv_eventloop_tasks_prepend (pkrsrv_eventloop_tasks_t *tasks, pkrsrv_eventloop_task_t *task) |
void | pkrsrv_eventloop_tasks_remove (pkrsrv_eventloop_tasks_t *tasks, pkrsrv_eventloop_task_t *task) |
pkrsrv_eventloop_task_t * | pkrsrv_eventloop_tasks_pop (pkrsrv_eventloop_tasks_t *tasks) |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pkrsrv_eventloop_task_t * | next |
pkrsrv_eventloop_task_t * | prev |
pkrsrv_eventloop_task_t * | terminal |
int | length |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_eventloop_tasks_t::ref_counted |
pkrsrv_eventloop_task_t* pkrsrv_eventloop_tasks_t::next |
pkrsrv_eventloop_task_t* pkrsrv_eventloop_tasks_t::prev |
pkrsrv_eventloop_task_t* pkrsrv_eventloop_tasks_t::terminal |
int pkrsrv_eventloop_tasks_t::length |
struct pkrsrv_eventloop_task |
Event loop task structure
Public Member Functions | |
pkrsrv_eventloop_task_t * | pkrsrv_eventloop_task_new (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_func_t fn, void *params) |
void | pkrsrv_eventloop_task_free (pkrsrv_eventloop_task_t *task) |
void | pkrsrv_eventloop_task_run (pkrsrv_eventloop_task_t *task) |
void | pkrsrv_eventloop_task_call (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_t *task) |
void | pkrsrv_eventloop_task_call_after (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_t *task, int delay) |
void | pkrsrv_eventloop_task_call_immediate (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_t *task) |
void | pkrsrv_eventloop_task_call_immediate_after (pkrsrv_eventloop_t *eventloop, pkrsrv_eventloop_task_t *task, int delay) |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pkrsrv_eventloop_task_t * | next |
pkrsrv_eventloop_task_t * | prev |
pkrsrv_uniqid_uuid_t | id |
pkrsrv_eventloop_t * | eventloop |
pkrsrv_eventloop_task_func_t | func |
pthread_t | delay_thread |
int | delay |
void * | params |
bool | is_queued |
bool | is_popped |
bool | is_called |
bool | is_cancelled |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_eventloop_task_t::ref_counted |
pkrsrv_eventloop_task_t* pkrsrv_eventloop_task_t::next |
pkrsrv_eventloop_task_t* pkrsrv_eventloop_task_t::prev |
pkrsrv_uniqid_uuid_t pkrsrv_eventloop_task_t::id |
pkrsrv_eventloop_t* pkrsrv_eventloop_task_t::eventloop |
pkrsrv_eventloop_task_func_t pkrsrv_eventloop_task_t::func |
pthread_t pkrsrv_eventloop_task_t::delay_thread |
int pkrsrv_eventloop_task_t::delay |
void* pkrsrv_eventloop_task_t::params |
bool pkrsrv_eventloop_task_t::is_queued |
bool pkrsrv_eventloop_task_t::is_popped |
bool pkrsrv_eventloop_task_t::is_called |
bool pkrsrv_eventloop_task_t::is_cancelled |
pkrsrv_eventloop_t * pkrsrv_eventloop_new | ( | ) |
void pkrsrv_eventloop_free | ( | pkrsrv_eventloop_t * | eventloop | ) |
void pkrsrv_eventloop_run | ( | pkrsrv_eventloop_t * | eventloop | ) |
void pkrsrv_eventloop_stop | ( | pkrsrv_eventloop_t * | eventloop | ) |
pkrsrv_eventloop_task_t * pkrsrv_eventloop_task_new | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_func_t | fn, | ||
void * | params ) |
void pkrsrv_eventloop_task_free | ( | pkrsrv_eventloop_task_t * | task | ) |
void pkrsrv_eventloop_task_run | ( | pkrsrv_eventloop_task_t * | task | ) |
pkrsrv_eventloop_tasks_t * pkrsrv_eventloop_tasks_new | ( | ) |
void pkrsrv_eventloop_tasks_free | ( | pkrsrv_eventloop_tasks_t * | tasks | ) |
void pkrsrv_eventloop_tasks_push | ( | pkrsrv_eventloop_tasks_t * | tasks, |
pkrsrv_eventloop_task_t * | task ) |
void pkrsrv_eventloop_tasks_prepend | ( | pkrsrv_eventloop_tasks_t * | tasks, |
pkrsrv_eventloop_task_t * | task ) |
void pkrsrv_eventloop_tasks_remove | ( | pkrsrv_eventloop_tasks_t * | tasks, |
pkrsrv_eventloop_task_t * | task ) |
pkrsrv_eventloop_task_t * pkrsrv_eventloop_tasks_pop | ( | pkrsrv_eventloop_tasks_t * | tasks | ) |
pkrsrv_eventloop_task_t * pkrsrv_eventloop_call | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_func_t | fn, | ||
void * | params ) |
Creates a new task and appends it into the event loop queue
pkrsrv_eventloop_task_t * pkrsrv_eventloop_call_after | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_func_t | func, | ||
void * | params, | ||
int | delay ) |
Creates a new task and appends it into the event loop queue after timeout
pkrsrv_eventloop_task_t * pkrsrv_eventloop_call_immediate | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_func_t | func, | ||
void * | params ) |
Creates a new task and prepends it into the event loop queue
pkrsrv_eventloop_task_t * pkrsrv_eventloop_call_immediate_after | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_func_t | func, | ||
void * | params, | ||
int | delay ) |
Creates a new task and appends it into the event loop queue after timeout
void pkrsrv_eventloop_task_call | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_t * | task ) |
Appends the task into the event loop queue
void pkrsrv_eventloop_task_call_after | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_t * | task, | ||
int | delay ) |
Appends the task into the event loop queue after timeout
void pkrsrv_eventloop_task_call_immediate | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_t * | task ) |
Prepends the task into the event loop queue
void pkrsrv_eventloop_task_call_immediate_after | ( | pkrsrv_eventloop_t * | eventloop, |
pkrsrv_eventloop_task_t * | task, | ||
int | delay ) |
Appends the task into the event loop queue after timeout