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
site_config.h
Go to the documentation of this file.
1
13#ifndef RTE_EXAMPLE_SITE_CONFIG_H
14#define RTE_EXAMPLE_SITE_CONFIG_H
15
16#include <stdbool.h>
17#include <stdint.h>
18
19typedef enum rte_example_site_e
20{
24
38typedef enum rte_example_relay_kind_e
39{
43 /* ADR-038: general A/B<->C side channel (rbc_util_frame_t) - status
44 * publish today, extensible. One link per {peer}, same as CTC; the
45 * C-side status/broker service owns the C end. Non-vital: a down UTIL
46 * link never reboots A/B (nothing on it feeds cross-compare or the
47 * checkpoint rendezvous). */
50#define RTE_EXAMPLE_RELAY_KIND_COUNT 4
51
59bool site_config_parse(const char *arg, rte_example_site_t *out_site);
60
63const char *site_config_name(rte_example_site_t site);
64
67
70
81
85
94
98
101
109
132const char *site_config_host(const char *env_var_name);
133
134#endif /* RTE_EXAMPLE_SITE_CONFIG_H */
uint16_t site_config_c_port_for_broker(rte_example_site_t site, rte_example_relay_kind_t gw_kind)
ADR-038: the status/broker service's LISTEN port for one local gateway service to CONNECT and publish...
uint16_t site_config_c_port_for_ctc(rte_example_site_t site)
Definition site_config.c:95
const char * site_config_name(rte_example_site_t site)
Definition site_config.c:52
uint16_t site_config_c_port_for_il(rte_example_site_t site)
Definition site_config.c:90
bool site_config_parse(const char *arg, rte_example_site_t *out_site)
Parses a site name argument ("WEST"/"EAST", case-insensitive).
Definition site_config.c:33
uint16_t site_config_c_port_for_b(rte_example_site_t site, rte_example_relay_kind_t kind)
Definition site_config.c:76
uint16_t site_config_c_port_for_train(rte_example_site_t site)
C's single listen port for the Train sim, for this site (ADR-036: one multiplexed connection carries ...
Definition site_config.c:85
uint16_t site_config_ab_port(rte_example_site_t site)
Definition site_config.c:57
const char * site_config_host(const char *env_var_name)
Resolves a CONNECT-role link's target host for this process.
uint16_t site_config_c_port_for_a(rte_example_site_t site, rte_example_relay_kind_t kind)
C's listen port for A's dedicated kind relay link, for this site (rte_example_relay_kind_t's own doc)...
Definition site_config.c:67
uint16_t site_config_ab_crosscompare_port(rte_example_site_t site)
Definition site_config.c:62
rte_example_site_t
Definition site_config.h:20
@ RTE_EXAMPLE_SITE_WEST
Definition site_config.h:21
@ RTE_EXAMPLE_SITE_EAST
Definition site_config.h:22
rte_example_relay_kind_t
Which client type a C<->A/C<->B relay link/port belongs to - this project's own dedicated-channel-per...
Definition site_config.h:39
@ RTE_EXAMPLE_RELAY_KIND_UTIL
Definition site_config.h:48
@ RTE_EXAMPLE_RELAY_KIND_CTC
Definition site_config.h:42
@ RTE_EXAMPLE_RELAY_KIND_IL
Definition site_config.h:41
@ RTE_EXAMPLE_RELAY_KIND_TRAIN
Definition site_config.h:40