|
Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
#include <rte_site_role.h>
Data Fields | |
| uint32_t | own_id |
| uint32_t | peer_id |
| bool | is_west |
| bool | listen |
| const char * | peer_host |
| uint16_t | port |
| size_t | link_message_size |
| rte_duration_ms_t | ack_timeout_ms |
| rte_duration_ms_t | peer_lost_timeout_ms |
| rte_duration_ms_t | reconnect_attempt_ms |
| rte_duration_ms_t | startup_timeout_ms |
| rte_duration_ms_t | link_poll_ms |
| uint32_t | connect_retry_ms |
| rte_duration_ms_t | connect_timeout_ms |
| uint8_t | send_miss_threshold |
| bool | standby_sync |
| rte_timestamp_ms_t | startup_timestamp_ms |
| size_t | frame_size |
| uint8_t * | tx_buf |
| uint8_t * | rx_buf |
| const char * | role_tag |
| const char * | peer_tag |
| const char * | site_name |
| const char * | sibling_tag |
| rte_site_role_encode_state_fn | encode_state |
| rte_site_role_receive_state_fn | receive_state |
| rte_site_role_change_fn | on_change |
| rte_site_role_trace_fn | trace |
| rte_site_role_delay_fn | delay |
| void * | user |
| rte_site_role_verify_mac_fn | verify_mac |
| uint8_t | channel_id |
| uint32_t | challenge_lifetime_cycles |
| rte_site_role_sibling_source_fn | sibling_source |
| uint32_t | sibling_reach_cycles |
Configuration (copied by rte_site_role_init(); the strings and buffers must outlive the service).
Definition at line 184 of file rte_site_role.h.
| uint32_t rte_site_role_config_t::own_id |
this site's id (dual channel sender id, negotiator own id)
Definition at line 186 of file rte_site_role.h.
| uint32_t rte_site_role_config_t::peer_id |
the counterpart site's id
Definition at line 187 of file rte_site_role.h.
| bool rte_site_role_config_t::is_west |
the WEST site wins the tie-breaks
Definition at line 188 of file rte_site_role.h.
| bool rte_site_role_config_t::listen |
true: listen for the counterpart; false: connect to peer_host
Definition at line 189 of file rte_site_role.h.
| const char* rte_site_role_config_t::peer_host |
counterpart host (connect side)
Definition at line 190 of file rte_site_role.h.
| uint16_t rte_site_role_config_t::port |
link port
Definition at line 191 of file rte_site_role.h.
| size_t rte_site_role_config_t::link_message_size |
netlink message size the dual channel needs
Definition at line 192 of file rte_site_role.h.
| rte_duration_ms_t rte_site_role_config_t::ack_timeout_ms |
dual channel ack timeout
Definition at line 193 of file rte_site_role.h.
| rte_duration_ms_t rte_site_role_config_t::peer_lost_timeout_ms |
negotiator peer-lost timeout
Definition at line 194 of file rte_site_role.h.
| rte_duration_ms_t rte_site_role_config_t::reconnect_attempt_ms |
bound of one per-cycle reconnect attempt
Definition at line 195 of file rte_site_role.h.
| rte_duration_ms_t rte_site_role_config_t::startup_timeout_ms |
bound of the blocking startup connect and negotiation
Definition at line 196 of file rte_site_role.h.
| rte_duration_ms_t rte_site_role_config_t::link_poll_ms |
negotiator execute timeout during startup
Definition at line 197 of file rte_site_role.h.
| uint32_t rte_site_role_config_t::connect_retry_ms |
delay between startup connect attempts
Definition at line 198 of file rte_site_role.h.
| rte_duration_ms_t rte_site_role_config_t::connect_timeout_ms |
per-attempt connect timeout during startup
Definition at line 199 of file rte_site_role.h.
| uint8_t rte_site_role_config_t::send_miss_threshold |
consecutive unacknowledged sends that close the link
Definition at line 200 of file rte_site_role.h.
| bool rte_site_role_config_t::standby_sync |
warm/hot standby: snapshot sync before each commit
Definition at line 201 of file rte_site_role.h.
| rte_timestamp_ms_t rte_site_role_config_t::startup_timestamp_ms |
0: taken at start; otherwise resumed (shared by A and B)
Definition at line 202 of file rte_site_role.h.
| size_t rte_site_role_config_t::frame_size |
whole frame, RTE_SITE_ROLE_FRAME_OVERHEAD + state size
Definition at line 203 of file rte_site_role.h.
| uint8_t* rte_site_role_config_t::tx_buf |
frame_size bytes, owned by the caller
Definition at line 204 of file rte_site_role.h.
| uint8_t* rte_site_role_config_t::rx_buf |
frame_size bytes, owned by the caller
Definition at line 205 of file rte_site_role.h.
| const char* rte_site_role_config_t::role_tag |
e.g. "A/WEST", for logs
Definition at line 206 of file rte_site_role.h.
| const char* rte_site_role_config_t::peer_tag |
e.g. "A/EAST", for logs
Definition at line 207 of file rte_site_role.h.
| const char* rte_site_role_config_t::site_name |
e.g. "WEST", for log events
Definition at line 208 of file rte_site_role.h.
| const char* rte_site_role_config_t::sibling_tag |
the A/B sibling of this channel, e.g. "B", for log events; NULL = "-"
Definition at line 209 of file rte_site_role.h.
| rte_site_role_encode_state_fn rte_site_role_config_t::encode_state |
Definition at line 210 of file rte_site_role.h.
| rte_site_role_receive_state_fn rte_site_role_config_t::receive_state |
Definition at line 211 of file rte_site_role.h.
| rte_site_role_change_fn rte_site_role_config_t::on_change |
Definition at line 212 of file rte_site_role.h.
| rte_site_role_trace_fn rte_site_role_config_t::trace |
may be NULL
Definition at line 213 of file rte_site_role.h.
| rte_site_role_delay_fn rte_site_role_config_t::delay |
may be NULL (startup retries without a pause)
Definition at line 214 of file rte_site_role.h.
| void* rte_site_role_config_t::user |
Definition at line 215 of file rte_site_role.h.
| rte_site_role_verify_mac_fn rte_site_role_config_t::verify_mac |
Definition at line 217 of file rte_site_role.h.
| uint8_t rte_site_role_config_t::channel_id |
bound into the token: 0 = A, 1 = B
Definition at line 218 of file rte_site_role.h.
| uint32_t rte_site_role_config_t::challenge_lifetime_cycles |
0 = RTE_SITE_ROLE_CHALLENGE_LIFETIME_DEFAULT_CYCLES
Definition at line 219 of file rte_site_role.h.
| rte_site_role_sibling_source_fn rte_site_role_config_t::sibling_source |
Definition at line 223 of file rte_site_role.h.
| uint32_t rte_site_role_config_t::sibling_reach_cycles |
0 = RTE_SITE_ROLE_SIBLING_REACH_DEFAULT_CYCLES
Definition at line 224 of file rte_site_role.h.