RTE RBC 2oo2 Reference Application
0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
Toggle main menu visibility
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
19
typedef
enum
rte_example_site_e
20
{
21
RTE_EXAMPLE_SITE_WEST
= 0,
22
RTE_EXAMPLE_SITE_EAST
= 1
23
}
rte_example_site_t
;
24
38
typedef
enum
rte_example_relay_kind_e
39
{
40
RTE_EXAMPLE_RELAY_KIND_TRAIN
= 0,
41
RTE_EXAMPLE_RELAY_KIND_IL
= 1,
42
RTE_EXAMPLE_RELAY_KIND_CTC
= 2,
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). */
48
RTE_EXAMPLE_RELAY_KIND_UTIL
= 3
49
}
rte_example_relay_kind_t
;
50
#define RTE_EXAMPLE_RELAY_KIND_COUNT 4
51
59
bool
site_config_parse
(
const
char
*arg,
rte_example_site_t
*out_site);
60
63
const
char
*
site_config_name
(
rte_example_site_t
site);
64
66
uint16_t
site_config_ab_port
(
rte_example_site_t
site);
67
69
uint16_t
site_config_ab_crosscompare_port
(
rte_example_site_t
site);
70
80
uint16_t
site_config_c_port_for_a
(
rte_example_site_t
site,
rte_example_relay_kind_t
kind);
81
84
uint16_t
site_config_c_port_for_b
(
rte_example_site_t
site,
rte_example_relay_kind_t
kind);
85
93
uint16_t
site_config_c_port_for_train
(
rte_example_site_t
site);
94
97
uint16_t
site_config_c_port_for_il
(
rte_example_site_t
site);
98
100
uint16_t
site_config_c_port_for_ctc
(
rte_example_site_t
site);
101
108
uint16_t
site_config_c_port_for_broker
(
rte_example_site_t
site,
rte_example_relay_kind_t
gw_kind);
109
132
const
char
*
site_config_host
(
const
char
*env_var_name);
133
134
#endif
/* RTE_EXAMPLE_SITE_CONFIG_H */
site_config_c_port_for_broker
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...
Definition
site_config.c:100
site_config_c_port_for_ctc
uint16_t site_config_c_port_for_ctc(rte_example_site_t site)
Definition
site_config.c:95
site_config_name
const char * site_config_name(rte_example_site_t site)
Definition
site_config.c:52
site_config_c_port_for_il
uint16_t site_config_c_port_for_il(rte_example_site_t site)
Definition
site_config.c:90
site_config_parse
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
site_config_c_port_for_b
uint16_t site_config_c_port_for_b(rte_example_site_t site, rte_example_relay_kind_t kind)
Definition
site_config.c:76
site_config_c_port_for_train
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
site_config_ab_port
uint16_t site_config_ab_port(rte_example_site_t site)
Definition
site_config.c:57
site_config_host
const char * site_config_host(const char *env_var_name)
Resolves a CONNECT-role link's target host for this process.
Definition
site_config.c:120
site_config_c_port_for_a
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
site_config_ab_crosscompare_port
uint16_t site_config_ab_crosscompare_port(rte_example_site_t site)
Definition
site_config.c:62
rte_example_site_t
rte_example_site_t
Definition
site_config.h:20
RTE_EXAMPLE_SITE_WEST
@ RTE_EXAMPLE_SITE_WEST
Definition
site_config.h:21
RTE_EXAMPLE_SITE_EAST
@ RTE_EXAMPLE_SITE_EAST
Definition
site_config.h:22
rte_example_relay_kind_t
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
@ RTE_EXAMPLE_RELAY_KIND_UTIL
Definition
site_config.h:48
RTE_EXAMPLE_RELAY_KIND_CTC
@ RTE_EXAMPLE_RELAY_KIND_CTC
Definition
site_config.h:42
RTE_EXAMPLE_RELAY_KIND_IL
@ RTE_EXAMPLE_RELAY_KIND_IL
Definition
site_config.h:41
RTE_EXAMPLE_RELAY_KIND_TRAIN
@ RTE_EXAMPLE_RELAY_KIND_TRAIN
Definition
site_config.h:40
src
application
AB
common
site_config.h
Generated by
1.18.0