|
RTE RBC 2oo2 Reference Application 0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
|
Shared wire-format constants and gateway_c_context_t. More...
#include <stdbool.h>#include <stdint.h>#include "rte/redundancy/channel_service/rte_channel_service.h"#include "rte/utils/status/rte_status.h"#include "rte/oal/timer/rte_timer.h"#include "common/rbc_wire_types.h"#include "common/site_config.h"#include "gateway_c_config.h"Go to the source code of this file.
Data Structures | |
| struct | gateway_c_dedup_entry_t |
| struct | gateway_c_dedup_t |
| struct | gateway_c_context_t |
| One gateway_c_context_t instance's state. More... | |
Macros | |
| #define | GATEWAY_C_PEER_COUNT 2 |
| #define | GATEWAY_C_DEDUP_WINDOW_SIZE 32U |
| #define | GATEWAY_C_DEDUP_EXPIRY_MS 450U |
| #define | GATEWAY_C_DEDUP_SAF_EXPIRY_MS 3000U |
Enumerations | |
| enum | gateway_c_peer_t { GATEWAY_C_PEER_A = 0 , GATEWAY_C_PEER_B = 1 } |
Functions | |
| void | gateway_c_sleep_ms (unsigned int ms) |
Shared wire-format constants and gateway_c_context_t.
Definition in file gateway_c_types.h.
| #define GATEWAY_C_PEER_COUNT 2 |
Definition at line 30 of file gateway_c_types.h.
| #define GATEWAY_C_DEDUP_WINDOW_SIZE 32U |
Definition at line 32 of file gateway_c_types.h.
| #define GATEWAY_C_DEDUP_EXPIRY_MS 450U |
Definition at line 33 of file gateway_c_types.h.
| #define GATEWAY_C_DEDUP_SAF_EXPIRY_MS 3000U |
A/B copies of one train-link SaF frame (RBC_MSG_SAF_ENVELOPE) can arrive a whole cycle apart - B answers AU1 only after A's shared RB reaches it, and the two channels' cycles are not phase-locked - so the 450 ms window (kept shorter than a cycle so identical acks/keepalives in consecutive cycles still pass) let the second copy through and the train dropped the connection on it. A SaF frame is never legitimately repeated (a fresh random in AU2, a new sequence number in every Sa-DATA), so an identical one within this window can only be the other channel's copy - or a replay the train would reject anyway.
Definition at line 40 of file gateway_c_types.h.
| enum gateway_c_peer_t |
Which site process a handler's own relay_*[peer] array's first index refers to
| Enumerator | |
|---|---|
| GATEWAY_C_PEER_A | |
| GATEWAY_C_PEER_B | |
Definition at line 25 of file gateway_c_types.h.
| void gateway_c_sleep_ms | ( | unsigned int | ms | ) |
Shared sleep helper (nanosleep-based)
Definition at line 11 of file gateway_c_util.c.