Expand description
The sans-IO event/action model.
The protocol core is pure: it consumes Events and produces Actions,
with no device, threads, or clock of its own. The driver loop executes the
actions against a CaDevice and feeds events back. This
keeps every state machine deterministic and testable without
hardware — a test (or a differential comparison against an external
reference) drives a sequence of events and asserts the emitted action
sequence.
Structs§
- MmiMenu
- A decoded high-level MMI
menu()/list()ready for display (§8.6.5, Tables 49/51). The three header lines and the choice list are kept separate so a UI can render them directly — a title bar, two sub-lines, and a list of selectable rows — without re-parsing.
Enums§
- Action
- An output the driver loop must perform.
- Event
- An input to the protocol core.
- Host
Control Event - A
host_controlrequest the CAM makes of the host (ETSI EN 50221 §8.5.1, Tables 27-30). The runtime surfaces the decoded request; the host performs the retune / PID replacement itself (out of band) — there is no re-tune logic in the stack. - Host
Request - A request the host application makes of the stack.
- HotPlug
- A CAM/card hot-plug transition.
Cam*are real DVB-CA slot-status edges;Card*are best-effort EN 50221 app-layer inference (no card-detect line). - MmiEvent
- MMI (man-machine interface) host events.
- Notification
- A host-facing event surfaced by the stack (the useful outputs of a CI session — what an application reacts to).