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
ab_gp_channel_context_t Struct Reference

Central application context owned by composition root (main.c). More...

#include <ab_gp_channel_types.h>

Collaboration diagram for ab_gp_channel_context_t:
[legend]

Data Structures

struct  [struct].neg_peer_extra

Data Fields

bool is_role_a
rte_example_site_t site
char role_tag_buf [16]
const char * role_tag
rte_redundancy_config_t redundancy
char checkpoint_channel_name_buf [16]
ab_gp_config_t config
ab_gp_com_t com
bool stop_requested
uint32_t last_accepted_peer_cycle
bool peer_cycle_seen
rte_timestamp_ms_t checkpoint_relaxed_until_ms
rte_timestamp_ms_t startup_timestamp_ms
rte_timestamp_ms_t sibling_startup_timestamp_ms
bool have_sibling_startup_timestamp
rte_site_role_t site_role
uint8_t site_role_tx [RTE_EXAMPLE_SITE_EXTRA_PAYLOAD_SIZE]
uint8_t site_role_rx [RTE_EXAMPLE_SITE_EXTRA_PAYLOAD_SIZE]
char site_role_peer_tag [16]
uint32_t last_relay_rx_cycle
uint32_t join_window_cycles_left
bool is_online
bool own_faulted
struct  neg_peer_extra
ab_gp_sibling_state_t peer_site_state
uint32_t xcompare_skew_skips
bool has_cached_checkpoint_reply
uint8_t cached_checkpoint_reply [sizeof(rte_vital_message_t)]
bool has_cached_checkpoint_request
uint8_t cached_checkpoint_request [sizeof(rte_vital_message_t)]
uint32_t last_peer_checkpoint_cycle
bool has_last_sent_checkpoint_arrival
uint8_t last_sent_checkpoint_arrival [sizeof(rte_vital_message_t)]
rte_watchdog_t watchdog
bool single_mode
bool was_online
uint32_t last_peer_sample_cycle
rte_timer_storage_t cycle_timer_storage
rte_timer_handle_t cycle_timer_handle
ab_gp_cycle_ticks_t cycle_ticks
rte_timestamp_ms_t last_cycle_wall_ms
ab_gp_train_session_t sessions [RTE_EXAMPLE_MAX_TRAINS]
ab_gp_db_t db
void * checkpoint_channel_handle
rte_channel_t checkpoint_vc
rte_voter_t checkpoint_voter
rte_appmanager_checkpoint_config_t checkpoint_cfg
rte_cross_comparator_t xcompare_cmp
uint8_t xcompare_skip_count [RTE_EXAMPLE_MAX_TRAINS]
uint8_t adopt_pending [RTE_EXAMPLE_MAX_TRAINS]
uint32_t cycle
uint32_t cyc_cycle
bool cyc_have_channel_data
bool cyc_have_peer_data
uint32_t cyc_peer_cycle
ab_gp_train_session_t cyc_peer_sessions [RTE_EXAMPLE_MAX_TRAINS]
bool cyc_crc_ok
bool cyc_agree
uint32_t cyc_msg_type_due [RTE_EXAMPLE_MAX_TRAINS]
bool cyc_position_reply_due [RTE_EXAMPLE_MAX_TRAINS]
ab_gp_saf_train_t saf_train
uint8_t deferred_peer_frames [AB_GP_DEFERRED_PEER_FRAMES][PEER_WIRE_FRAME_SIZE]
uint8_t deferred_peer_count
ab_gp_staged_send_t staged_sends [AB_GP_MAX_STAGED_SENDS_PER_CYCLE]
uint32_t staged_send_count

Detailed Description

Central application context owned by composition root (main.c).

Definition at line 154 of file ab_gp_channel_types.h.

Field Documentation

◆ is_role_a

bool ab_gp_channel_context_t::is_role_a

Definition at line 156 of file ab_gp_channel_types.h.

◆ site

rte_example_site_t ab_gp_channel_context_t::site

Definition at line 157 of file ab_gp_channel_types.h.

◆ role_tag_buf

char ab_gp_channel_context_t::role_tag_buf[16]

Definition at line 158 of file ab_gp_channel_types.h.

◆ role_tag

const char* ab_gp_channel_context_t::role_tag

Definition at line 159 of file ab_gp_channel_types.h.

◆ redundancy

rte_redundancy_config_t ab_gp_channel_context_t::redundancy

Definition at line 171 of file ab_gp_channel_types.h.

◆ checkpoint_channel_name_buf

char ab_gp_channel_context_t::checkpoint_channel_name_buf[16]

Definition at line 177 of file ab_gp_channel_types.h.

◆ config

ab_gp_config_t ab_gp_channel_context_t::config

Definition at line 180 of file ab_gp_channel_types.h.

◆ com

ab_gp_com_t ab_gp_channel_context_t::com

Definition at line 181 of file ab_gp_channel_types.h.

◆ stop_requested

bool ab_gp_channel_context_t::stop_requested

Definition at line 183 of file ab_gp_channel_types.h.

◆ last_accepted_peer_cycle

uint32_t ab_gp_channel_context_t::last_accepted_peer_cycle

Definition at line 185 of file ab_gp_channel_types.h.

◆ peer_cycle_seen

bool ab_gp_channel_context_t::peer_cycle_seen

Definition at line 186 of file ab_gp_channel_types.h.

◆ checkpoint_relaxed_until_ms

rte_timestamp_ms_t ab_gp_channel_context_t::checkpoint_relaxed_until_ms

Definition at line 188 of file ab_gp_channel_types.h.

◆ startup_timestamp_ms

rte_timestamp_ms_t ab_gp_channel_context_t::startup_timestamp_ms

agreed with the A/B sibling over the peer link at start (ab_gp_channel_negotiate.c), 0 until then

Definition at line 194 of file ab_gp_channel_types.h.

◆ sibling_startup_timestamp_ms

rte_timestamp_ms_t ab_gp_channel_context_t::sibling_startup_timestamp_ms

the sibling's last STARTUP_TS value (valid when have_sibling_startup_timestamp)

Definition at line 195 of file ab_gp_channel_types.h.

◆ have_sibling_startup_timestamp

bool ab_gp_channel_context_t::have_sibling_startup_timestamp

a STARTUP_TS frame from the sibling has been seen

Definition at line 196 of file ab_gp_channel_types.h.

◆ site_role

rte_site_role_t ab_gp_channel_context_t::site_role

Definition at line 197 of file ab_gp_channel_types.h.

◆ site_role_tx

uint8_t ab_gp_channel_context_t::site_role_tx[RTE_EXAMPLE_SITE_EXTRA_PAYLOAD_SIZE]

Definition at line 198 of file ab_gp_channel_types.h.

◆ site_role_rx

uint8_t ab_gp_channel_context_t::site_role_rx[RTE_EXAMPLE_SITE_EXTRA_PAYLOAD_SIZE]

Definition at line 199 of file ab_gp_channel_types.h.

◆ site_role_peer_tag

char ab_gp_channel_context_t::site_role_peer_tag[16]

Definition at line 200 of file ab_gp_channel_types.h.

◆ last_relay_rx_cycle

uint32_t ab_gp_channel_context_t::last_relay_rx_cycle

cycle in which the Gateway relay last delivered any frame

Definition at line 202 of file ab_gp_channel_types.h.

◆ join_window_cycles_left

uint32_t ab_gp_channel_context_t::join_window_cycles_left

cycles left in which a missed train connect may be adopted from the A/B sibling

Definition at line 203 of file ab_gp_channel_types.h.

◆ is_online

bool ab_gp_channel_context_t::is_online

Definition at line 205 of file ab_gp_channel_types.h.

◆ own_faulted

bool ab_gp_channel_context_t::own_faulted

Definition at line 206 of file ab_gp_channel_types.h.

◆ neg_peer_extra

struct ab_gp_channel_context_t::[struct].neg_peer_extra ab_gp_channel_context_t::neg_peer_extra

◆ peer_site_state

ab_gp_sibling_state_t ab_gp_channel_context_t::peer_site_state

the A/B sibling's last site-state frame, handed to rte_site_role through the sibling source

Definition at line 217 of file ab_gp_channel_types.h.

◆ xcompare_skew_skips

uint32_t ab_gp_channel_context_t::xcompare_skew_skips

consecutive cycles skipped for a peer cycle number beyond the skew tolerance

Definition at line 218 of file ab_gp_channel_types.h.

◆ has_cached_checkpoint_reply

bool ab_gp_channel_context_t::has_cached_checkpoint_reply

Definition at line 234 of file ab_gp_channel_types.h.

◆ cached_checkpoint_reply

uint8_t ab_gp_channel_context_t::cached_checkpoint_reply[sizeof(rte_vital_message_t)]

Definition at line 235 of file ab_gp_channel_types.h.

◆ has_cached_checkpoint_request

bool ab_gp_channel_context_t::has_cached_checkpoint_request

Definition at line 236 of file ab_gp_channel_types.h.

◆ cached_checkpoint_request

uint8_t ab_gp_channel_context_t::cached_checkpoint_request[sizeof(rte_vital_message_t)]

Definition at line 237 of file ab_gp_channel_types.h.

◆ last_peer_checkpoint_cycle

uint32_t ab_gp_channel_context_t::last_peer_checkpoint_cycle

Definition at line 246 of file ab_gp_channel_types.h.

◆ has_last_sent_checkpoint_arrival

bool ab_gp_channel_context_t::has_last_sent_checkpoint_arrival

Definition at line 253 of file ab_gp_channel_types.h.

◆ last_sent_checkpoint_arrival

uint8_t ab_gp_channel_context_t::last_sent_checkpoint_arrival[sizeof(rte_vital_message_t)]

Definition at line 254 of file ab_gp_channel_types.h.

◆ watchdog

rte_watchdog_t ab_gp_channel_context_t::watchdog

Definition at line 256 of file ab_gp_channel_types.h.

◆ single_mode

bool ab_gp_channel_context_t::single_mode

Definition at line 257 of file ab_gp_channel_types.h.

◆ was_online

bool ab_gp_channel_context_t::was_online

Definition at line 258 of file ab_gp_channel_types.h.

◆ last_peer_sample_cycle

uint32_t ab_gp_channel_context_t::last_peer_sample_cycle

Definition at line 259 of file ab_gp_channel_types.h.

◆ cycle_timer_storage

rte_timer_storage_t ab_gp_channel_context_t::cycle_timer_storage

Definition at line 261 of file ab_gp_channel_types.h.

◆ cycle_timer_handle

rte_timer_handle_t ab_gp_channel_context_t::cycle_timer_handle

Definition at line 262 of file ab_gp_channel_types.h.

◆ cycle_ticks

ab_gp_cycle_ticks_t ab_gp_channel_context_t::cycle_ticks

timer callback posts, cycle thread takes; mutex-guarded (ISS-051)

Definition at line 263 of file ab_gp_channel_types.h.

◆ last_cycle_wall_ms

rte_timestamp_ms_t ab_gp_channel_context_t::last_cycle_wall_ms

monotonic time of the previous cycle tick, 64-bit (0 = none yet; ISS-052)

Definition at line 264 of file ab_gp_channel_types.h.

◆ sessions

ab_gp_train_session_t ab_gp_channel_context_t::sessions[RTE_EXAMPLE_MAX_TRAINS]

Definition at line 267 of file ab_gp_channel_types.h.

◆ db

ab_gp_db_t ab_gp_channel_context_t::db

Definition at line 268 of file ab_gp_channel_types.h.

◆ checkpoint_channel_handle

void* ab_gp_channel_context_t::checkpoint_channel_handle

Definition at line 271 of file ab_gp_channel_types.h.

◆ checkpoint_vc

rte_channel_t ab_gp_channel_context_t::checkpoint_vc

Definition at line 272 of file ab_gp_channel_types.h.

◆ checkpoint_voter

rte_voter_t ab_gp_channel_context_t::checkpoint_voter

Definition at line 273 of file ab_gp_channel_types.h.

◆ checkpoint_cfg

rte_appmanager_checkpoint_config_t ab_gp_channel_context_t::checkpoint_cfg

Definition at line 274 of file ab_gp_channel_types.h.

◆ xcompare_cmp

rte_cross_comparator_t ab_gp_channel_context_t::xcompare_cmp

Definition at line 279 of file ab_gp_channel_types.h.

◆ xcompare_skip_count

uint8_t ab_gp_channel_context_t::xcompare_skip_count[RTE_EXAMPLE_MAX_TRAINS]

Definition at line 280 of file ab_gp_channel_types.h.

◆ adopt_pending

uint8_t ab_gp_channel_context_t::adopt_pending[RTE_EXAMPLE_MAX_TRAINS]

consecutive cycles a session was held by the sibling only

Definition at line 281 of file ab_gp_channel_types.h.

◆ cycle

uint32_t ab_gp_channel_context_t::cycle

Definition at line 283 of file ab_gp_channel_types.h.

◆ cyc_cycle

uint32_t ab_gp_channel_context_t::cyc_cycle

Definition at line 286 of file ab_gp_channel_types.h.

◆ cyc_have_channel_data

bool ab_gp_channel_context_t::cyc_have_channel_data

Definition at line 287 of file ab_gp_channel_types.h.

◆ cyc_have_peer_data

bool ab_gp_channel_context_t::cyc_have_peer_data

Definition at line 288 of file ab_gp_channel_types.h.

◆ cyc_peer_cycle

uint32_t ab_gp_channel_context_t::cyc_peer_cycle

Definition at line 289 of file ab_gp_channel_types.h.

◆ cyc_peer_sessions

ab_gp_train_session_t ab_gp_channel_context_t::cyc_peer_sessions[RTE_EXAMPLE_MAX_TRAINS]

Definition at line 290 of file ab_gp_channel_types.h.

◆ cyc_crc_ok

bool ab_gp_channel_context_t::cyc_crc_ok

Definition at line 291 of file ab_gp_channel_types.h.

◆ cyc_agree

bool ab_gp_channel_context_t::cyc_agree

Definition at line 292 of file ab_gp_channel_types.h.

◆ cyc_msg_type_due

uint32_t ab_gp_channel_context_t::cyc_msg_type_due[RTE_EXAMPLE_MAX_TRAINS]

Definition at line 294 of file ab_gp_channel_types.h.

◆ cyc_position_reply_due

bool ab_gp_channel_context_t::cyc_position_reply_due[RTE_EXAMPLE_MAX_TRAINS]

Definition at line 295 of file ab_gp_channel_types.h.

◆ saf_train

ab_gp_saf_train_t ab_gp_channel_context_t::saf_train

Definition at line 298 of file ab_gp_channel_types.h.

◆ deferred_peer_frames

uint8_t ab_gp_channel_context_t::deferred_peer_frames[AB_GP_DEFERRED_PEER_FRAMES][PEER_WIRE_FRAME_SIZE]

Definition at line 303 of file ab_gp_channel_types.h.

◆ deferred_peer_count

uint8_t ab_gp_channel_context_t::deferred_peer_count

Definition at line 304 of file ab_gp_channel_types.h.

◆ staged_sends

ab_gp_staged_send_t ab_gp_channel_context_t::staged_sends[AB_GP_MAX_STAGED_SENDS_PER_CYCLE]

Definition at line 307 of file ab_gp_channel_types.h.

◆ staged_send_count

uint32_t ab_gp_channel_context_t::staged_send_count

Definition at line 308 of file ab_gp_channel_types.h.


The documentation for this struct was generated from the following file: