Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Loading...
Searching...
No Matches
rte_site_role_config_t Struct Reference

#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

Detailed Description

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.

Field Documentation

◆ own_id

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.

◆ peer_id

uint32_t rte_site_role_config_t::peer_id

the counterpart site's id

Definition at line 187 of file rte_site_role.h.

◆ is_west

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.

◆ listen

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.

◆ peer_host

const char* rte_site_role_config_t::peer_host

counterpart host (connect side)

Definition at line 190 of file rte_site_role.h.

◆ port

uint16_t rte_site_role_config_t::port

link port

Definition at line 191 of file rte_site_role.h.

◆ link_message_size

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.

◆ ack_timeout_ms

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.

◆ peer_lost_timeout_ms

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.

◆ reconnect_attempt_ms

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.

◆ startup_timeout_ms

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.

◆ link_poll_ms

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.

◆ connect_retry_ms

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.

◆ connect_timeout_ms

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.

◆ send_miss_threshold

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.

◆ standby_sync

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.

◆ startup_timestamp_ms

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.

◆ frame_size

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.

◆ tx_buf

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.

◆ rx_buf

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.

◆ role_tag

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.

◆ peer_tag

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.

◆ site_name

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.

◆ sibling_tag

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.

◆ encode_state

rte_site_role_encode_state_fn rte_site_role_config_t::encode_state

Definition at line 210 of file rte_site_role.h.

◆ receive_state

rte_site_role_receive_state_fn rte_site_role_config_t::receive_state

Definition at line 211 of file rte_site_role.h.

◆ on_change

rte_site_role_change_fn rte_site_role_config_t::on_change

Definition at line 212 of file rte_site_role.h.

◆ trace

rte_site_role_trace_fn rte_site_role_config_t::trace

may be NULL

Definition at line 213 of file rte_site_role.h.

◆ delay

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.

◆ user

void* rte_site_role_config_t::user

Definition at line 215 of file rte_site_role.h.

◆ verify_mac

rte_site_role_verify_mac_fn rte_site_role_config_t::verify_mac

Definition at line 217 of file rte_site_role.h.

◆ channel_id

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.

◆ challenge_lifetime_cycles

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.

◆ sibling_source

rte_site_role_sibling_source_fn rte_site_role_config_t::sibling_source

Definition at line 223 of file rte_site_role.h.

◆ sibling_reach_cycles

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.


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