|
RTE RBC 2oo2 Reference Application 0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
|
Files | |
| gateway_c_common.c | |
| Shared skeleton for the three Role C gateway service binaries - see gateway_c_common.h. Lifted verbatim from the old single gateway_c.c: only the "call all three handlers" sites became "call this service's one handler" (via gateway_c_service_def_t), and the version-banner / arg-parse from the old main_c.c folded into gateway_c_main(). | |
| gateway_c_common.h | |
| Shared skeleton for the three Role C gateway service binaries (rte_gateway_c_train / _il / _ctc - ADR-037). Role C was one binary with three independent, zero-shared-state handlers (Train/IL/CTC relay); it is now three separate processes, one per client type, so the Train service can be the clean sole owner of per-train demux when ADR-036's multiplexing lands. Everything that was boilerplate in the old gateway_c.c - the appmanager ops, the cyclic timer + cycle_ticks pacing, the channel resolver, the channel-down self-reboot - lives here; each service supplies only a gateway_c_service_def_t naming its one handler. | |
| gateway_c_config.c | |
| Lightweight JSON configuration parser for Role C Gateway. | |
| gateway_c_config.h | |
| Configuration data structures and parser for Role C Gateway (JSON-based). | |
| gateway_c_selfstatus.c | |
| See gateway_c_selfstatus.h. | |
| gateway_c_selfstatus.h | |
| ADR-038: a role-C gateway service's own periodic status - a self log line plus a PUBLISH(STATUS) rbc_util_frame_t to the C-side broker (rte_gateway_c_status). Wired in by gateway_c_common when a service's gateway_c_service_def_t sets broker_channel. | |
| gateway_c_train_handler.c | |
| See gateway_c_train_handler.h. ADR-036: one multiplexed Train sim connection + one relay link per peer; frames forwarded verbatim, train_id never inspected here. | |
| gateway_c_train_handler.h | |
| TrainHandler - Role C Gateway's TCP/IP server for the ONE multiplexed Train sim connection and the ONE dedicated relay link to/from each of A and B (ADR-036). Every train's traffic rides these single links, each envelope carrying its own train_id; this handler is a pure byte pipe - it forwards frames verbatim and never inspects train_id (that is A/B's job). | |
| gateway_c_types.h | |
| Shared wire-format constants and gateway_c_context_t. | |
| gateway_c_util.c | |
| gateway_c_sleep_ms() - shared bounded-sleep helper. | |
| gateway_c_util.h | |
| Declares gateway_c_sleep_ms() - see gateway_c_types.h's own doc. | |
| main_c_train.c | |
| safeAPIRBC2oo2: Role C Gateway - Train service binary (rte_gateway_c_train). Relays every connected train's P0/M136/M146 to A/B and A/B's M24/M15/M3 back - see ADR-037 and gateway_c_train_handler.c. | |