48#ifndef PROTOCORE_SIGNALING_H
49#define PROTOCORE_SIGNALING_H
78static_assert(
CONN_POOL_SLOTS <= 32,
"protocore_signal_snapshot::conns_active is one 32-bit word, one bit per slot");
79static_assert(
MAX_LISTENERS <= 32,
"protocore_signal_snapshot::listeners_up is one 32-bit word, one bit per listener");
130 void (*
const know)(uint8_t *work);
131 void (*
const reset)(uint8_t *work);
132 void (*
const put_response)(uint8_t *work);
133 void (*
const put_tick)(uint8_t *work);
134 void (*
const kill)(uint8_t *work);
149static const SignalingNs Signal __attribute__((unused)) = {
#define MAX_LISTENERS
Maximum number of simultaneously active listener ports.
void protocore_signal_reset(uint8_t *work)
void protocore_signal_put_tick(uint8_t *work)
uint8_t * protocore_signaling_span(void)
The PROTOCORE_SIGNALING_BORROW bytes this module's state lives in.
void protocore_signal_know(uint8_t *work)
void protocore_signal_put_response(uint8_t *work)
void protocore_signal_kill(uint8_t *work)
SignalVars SignalV
The operands and the outcome.
What one deposit carries: a response's status, or the loop's own figures.
uint32_t listeners_up
one bit per listener that is bound
uint32_t uptime_ms
how long the server has been up
uint32_t conns_active
one bit per occupied connection slot
int code
the status that was sent, which is what selects the class tally
protocore_signal_snapshot * out
void(*const know)(uint8_t *work)
The server's state, as the loop deposited it.
uint32_t conns_active
One bit per connection slot in use.
uint32_t uptime_ms
Milliseconds the server has been up.
uint32_t requests_total
Responses sent.
uint32_t listeners_up
One bit per bound listener.
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
#define PROTOCORE_END_DECLS