|
KEEL 1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
|
#include <server.h>

Data Fields | |
| KlConfig | config |
| KlAllocator | alloc_storage |
| KlTlsConfig | tls_storage |
| KlH2ServerConfig | h2_storage |
| KlCompressConfig | compress_storage |
| KlRouter | router |
| KlConnPool | pool |
| KlEventCtx | ev |
| int | listen_fd |
| int | bound_port |
| int | listen_paused |
| _Atomic int | running |
| _Atomic int | draining |
| uint64_t | drain_deadline_ms |
| KlAsyncOp * | async_ops |
| KlFileIO * | file_io |
| KlError | last_error |
| KlConfig KlServer::config |
| KlAllocator KlServer::alloc_storage |
owned copy if user didn't provide one
| KlTlsConfig KlServer::tls_storage |
owned copy of TLS config (if provided)
| KlH2ServerConfig KlServer::h2_storage |
owned copy of H2 config (if provided)
| KlCompressConfig KlServer::compress_storage |
owned copy of compress config (if provided)
| KlRouter KlServer::router |
Route table
| KlConnPool KlServer::pool |
Connection pool
| KlEventCtx KlServer::ev |
event loop + watcher list
| int KlServer::listen_fd |
Listening socket fd
| int KlServer::bound_port |
actual port after bind (useful with port=0)
| int KlServer::listen_paused |
1 = listen fd removed from event loop (pool full)
| _Atomic int KlServer::running |
Server is running
| _Atomic int KlServer::draining |
Graceful shutdown in progress
| uint64_t KlServer::drain_deadline_ms |
Drain timeout deadline
| KlAsyncOp* KlServer::async_ops |
active async ops list
| KlFileIO* KlServer::file_io |
async file I/O (auto-created if backend supports it)
| KlError KlServer::last_error |
diagnostic: set at point of return -1