cwist
Modern C web framework with libttak runtime
Loading...
Searching...
No Matches
cwist_io.h
Go to the documentation of this file.
1
6#ifndef __CWIST_IO_H__
7#define __CWIST_IO_H__
8
9#include <stddef.h>
10#include <stdbool.h>
11
17
22typedef void (*cwist_job_func)(void *arg);
23
30
39
46
56
62
63#endif
void(* cwist_job_func)(void *arg)
Job function signature.
Definition cwist_io.h:22
struct cwist_io_queue cwist_io_queue
Opaque handle for the IO Queue. Backend implementation depends on OS (io_uring, kqueue,...
Definition cwist_io.h:16
void cwist_io_queue_run(cwist_io_queue *q)
Run the event loop. Blocks indefinitely, processing jobs as they complete/trigger.
Definition io_queue.c:293
void cwist_io_queue_stop(cwist_io_queue *q)
Request that all runners stop processing without freeing the queue.
Definition io_queue.c:331
void cwist_io_queue_destroy(cwist_io_queue *q)
Destroy the queue and free resources.
Definition io_queue.c:343
cwist_io_queue * cwist_io_queue_create(size_t capacity)
Initialize the job queue.
Definition io_queue.c:228
bool cwist_io_queue_submit(cwist_io_queue *q, cwist_job_func func, void *arg)
Submit a job to be executed asynchronously.
Definition io_queue.c:277