KEEL 1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
Loading...
Searching...
No Matches
Data Structures | Enumerations | Functions
event.h File Reference
#include <keel/allocator.h>
Include dependency graph for event.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  KlEvent
 
struct  KlEventLoop
 

Enumerations

enum  KlEventMask { KL_EVENT_READ = 1 , KL_EVENT_WRITE = 2 }
 

Functions

int kl_event_init (KlEventLoop *loop)
 Initialize the platform event loop (epoll/kqueue/io_uring).
 
int kl_event_add (KlEventLoop *loop, int fd, KlEventMask mask, void *udata)
 Register a file descriptor for events.
 
int kl_event_mod (KlEventLoop *loop, int fd, KlEventMask mask, void *udata)
 Modify the event mask for a registered fd.
 
int kl_event_del (KlEventLoop *loop, int fd)
 Remove a file descriptor from the event loop.
 
int kl_event_wait (KlEventLoop *loop, KlEvent *out, int max, int timeout_ms)
 Wait for events.
 
void kl_event_close (KlEventLoop *loop)
 Close and clean up the event loop.
 

Enumeration Type Documentation

◆ KlEventMask

Enumerator
KL_EVENT_READ 

FD is readable

KL_EVENT_WRITE 

FD is writable

Function Documentation

◆ kl_event_init()

int kl_event_init ( KlEventLoop loop)

Initialize the platform event loop (epoll/kqueue/io_uring).

◆ kl_event_add()

int kl_event_add ( KlEventLoop loop,
int  fd,
KlEventMask  mask,
void *  udata 
)

Register a file descriptor for events.

◆ kl_event_mod()

int kl_event_mod ( KlEventLoop loop,
int  fd,
KlEventMask  mask,
void *  udata 
)

Modify the event mask for a registered fd.

◆ kl_event_del()

int kl_event_del ( KlEventLoop loop,
int  fd 
)

Remove a file descriptor from the event loop.

◆ kl_event_wait()

int kl_event_wait ( KlEventLoop loop,
KlEvent out,
int  max,
int  timeout_ms 
)

Wait for events.

Parameters
loopEvent loop instance.
outArray to receive ready events.
maxMaximum events to return.
timeout_msTimeout in milliseconds (-1 for infinite).
Returns
Number of ready events, or -1 on error.

◆ kl_event_close()

void kl_event_close ( KlEventLoop loop)

Close and clean up the event loop.