KEEL 1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
Loading...
Searching...
No Matches
async.h
Go to the documentation of this file.
1#ifndef KEEL_ASYNC_H
2#define KEEL_ASYNC_H
3
4#include <keel/event_ctx.h>
5#include <stdint.h>
6
7typedef struct KlServer KlServer;
8typedef struct KlConn KlConn;
9
10/* ── KlAsyncOp — connection suspension ────────────────────────────── */
11
12typedef struct KlAsyncOp KlAsyncOp;
13
19typedef void (*KlAsyncFn)(KlAsyncOp *op, void *user_data);
20
38
52
68
69#endif
void(* KlAsyncFn)(KlAsyncOp *op, void *user_data)
Callback for async operation lifecycle events.
Definition async.h:19
int kl_async_suspend(KlServer *s, KlConn *conn, KlAsyncOp *op)
Suspend a connection for an async operation.
void kl_async_complete(KlServer *s, KlAsyncOp *op)
Complete an async operation and resume the connection.
An in-flight async operation that suspends a connection.
Definition async.h:29
KlAsyncFn on_cancel
Definition async.h:34
void * user_data
Definition async.h:35
KlConn * conn
Definition async.h:30
struct KlAsyncOp * next
Definition async.h:36
uint64_t deadline_ms
Definition async.h:31
KlAsyncFn on_deadline
Definition async.h:33
KlAsyncFn on_resume
Definition async.h:32
Definition connection.h:34
Definition server.h:70