DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
proto_builtins.cpp File Reference

Layer 5 (Session) - the built-in protocol registry (policy, not mechanism). More...

Go to the source code of this file.

Functions

void proto_register_builtins (void)
 Register every built-in protocol's handler (the policy list).
 

Detailed Description

Layer 5 (Session) - the built-in protocol registry (policy, not mechanism).

The session dispatcher (session.cpp) is pure mechanism: it routes events to whatever ProtoHandler is registered for a connection's ConnProto and names no protocol. This file is the one place that knows which protocols the build includes. Each built-in's handler + callbacks live in its own module and are exposed by a pure *_proto_handler() accessor (no session dependency); here we install each behind the matching feature flag. Adding a protocol means writing its module and adding one guarded line here - never editing the dispatcher.

(The SSH remote-forward listener, ConnProto::PROTO_SSH_RFWD, is intentionally NOT here: it is a runtime opt-in that self-registers from ssh_forward_begin().)

Definition in file proto_builtins.cpp.

Function Documentation

◆ proto_register_builtins()

void proto_register_builtins ( void  )

Register every built-in protocol's handler (the policy list).

Defined in proto_builtins.cpp - the one place that knows which protocols exist. Each built-in's handler lives in its own module (http in presentation, ssh in ssh_conn, ...) behind a *_proto_handler() accessor; this installs each. The session dispatcher (session.cpp) calls this once (lazily, on first lookup) so it never names a protocol itself. Optional runtime-gated handlers (e.g. the SSH remote-forward listener) self-register at their own opt-in entry point instead.

Definition at line 44 of file proto_builtins.cpp.

References http_proto_handler(), PROTO_HTTP, PROTO_MODBUS, PROTO_OPCUA, PROTO_SSH, PROTO_TELNET, and ssh_proto_handler().

Referenced by proto_get().