RTE RBC 2oo2 Reference Application 0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
Loading...
Searching...
No Matches
C Directory Reference
Directory dependency graph for C:

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.