20#ifndef PROTOCORE_PRESENTATION_H
21#define PROTOCORE_PRESENTATION_H
40#if PROTOCORE_ENABLE_KEEPALIVE
73#if PROTOCORE_ENABLE_KEEPALIVE
84#if PROTOCORE_ENABLE_KEEPALIVE || PROTOCORE_ENABLE_WEBSOCKET
156 void (*poll)(uint8_t slot);
160#if PROTOCORE_ENABLE_KEEPALIVE
162#if PROTOCORE_ENABLE_KEEPALIVE || PROTOCORE_ENABLE_WEBSOCKET
172 void (*
const reset)(uint8_t *work);
173 void (*
const conn_open)(uint8_t *work);
174 void (*
const parse)(uint8_t *work);
175 void (*
const keepalive_eval)(uint8_t *work);
176 void (*
const has_token)(uint8_t *work);
177 void (*
const proto_handler)(uint8_t *work);
178 void (*
const set_poll)(uint8_t *work);
195static const HttpConnNs HttpConn __attribute__((unused)) = {
#define MAX_CONNS
Maximum simultaneous TCP connections (fixed static pool; ~3.95 KB of internal RAM per slot).
What the stack callbacks post to a listener's queue: the event type and the record.
uint8_t * protocore_http_conn_span(void)
The PROTOCORE_HTTP_CONN_BORROW bytes this module's state lives in.
void protocore_http_conn_conn_open(uint8_t *work)
void protocore_http_conn_has_token(uint8_t *work)
void protocore_http_conn_keepalive_eval(uint8_t *work)
void protocore_http_conn_proto_handler(uint8_t *work)
void protocore_http_conn_reset(uint8_t *work)
void protocore_http_conn_parse(uint8_t *work)
HttpConnVars HttpConnV
The operands and the outcome.
void protocore_http_conn_set_poll(uint8_t *work)
Layer 5 (Session) - where a connection is opened, closed and controlled.
void(*const reset)(uint8_t *work)
uint8_t slot
the connection every call names
const struct ProtoHandler * handler
HttpHdrArgs hdr_args
the header a token scan reads
RFC 9110 sec 5.6.1: a comma-separated header, and the token looked for in it.
const char * token
the token looked for, case-insensitive
const char * hdr
the field value scanned
Per-protocol connection event/poll callbacks (the server's dispatch vtable).
_Bool proto_bool
The truth value.