|
SafeAPI RBC 2oo2 Generic Application
IL/CTC route and train logic for the safeAPIRBC2oo2 reference RBC
|
See gateway_c_il_handler.h. ADR-036: one multiplexed IL sim connection + one relay link per peer; frames forwarded verbatim. More...
#include "gateway_c_il_handler.h"#include <stdio.h>#include "safeapi/oal/memory/sapi_mem_util.h"#include "safeapi/oal/log/sapi_log.h"#include "common/common_config.h"#include "common/rbc_util_frame.h"#include "gateway_c_selfstatus.h"Go to the source code of this file.
Functions | |
| static const char * | peer_name (gateway_c_peer_t peer) |
| static void | broadcast_one (gateway_c_peer_t peer, const uint8_t bytes[RBC_ENVELOPE_WIRE_SIZE]) |
| void | gateway_c_il_handler_broadcast_to_ab (const uint8_t bytes[RBC_ENVELOPE_WIRE_SIZE]) |
| Sends one RBC_ENVELOPE_WIRE_SIZE frame to BOTH A and B on the IL relay link. Used by gateway_c_logctl.c to fan a diagnostic RBC_MSG_SET_LOG_LEVEL control frame out to the pair; the IL link is the one C<->AB link A/B always poll from C (Train is bidirectional, CTC is AB->C only). Best-effort: a send error is logged, not returned. | |
| sapi_status_t | gateway_c_il_handler_init (gateway_c_context_t *ctx) |
| static void | send_to_relay (gateway_c_context_t *ctx, gateway_c_peer_t peer, const uint8_t bytes[RBC_ENVELOPE_WIRE_SIZE]) |
| static void | send_to_sim (gateway_c_context_t *ctx, const uint8_t bytes[RBC_ENVELOPE_WIRE_SIZE]) |
| void | gateway_c_il_handler_execute (gateway_c_context_t *ctx, uint32_t cycle) |
| void | gateway_c_il_handler_shutdown (void) |
| bool | gateway_c_il_handler_check_link_down (sapi_timestamp_ms_t threshold_ms, sapi_timestamp_ms_t now_ms, char *out_which, size_t which_size) |
Variables | |
| static gateway_c_il_handler_state_t | g_il |
See gateway_c_il_handler.h. ADR-036: one multiplexed IL sim connection + one relay link per peer; frames forwarded verbatim.
Definition in file gateway_c_il_handler.c.
|
static |
Definition at line 22 of file gateway_c_il_handler.c.
| void gateway_c_il_handler_broadcast_to_ab | ( | const uint8_t | bytes[RBC_ENVELOPE_WIRE_SIZE] | ) |
Sends one RBC_ENVELOPE_WIRE_SIZE frame to BOTH A and B on the IL relay link. Used by gateway_c_logctl.c to fan a diagnostic RBC_MSG_SET_LOG_LEVEL control frame out to the pair; the IL link is the one C<->AB link A/B always poll from C (Train is bidirectional, CTC is AB->C only). Best-effort: a send error is logged, not returned.
Definition at line 34 of file gateway_c_il_handler.c.
| bool gateway_c_il_handler_check_link_down | ( | sapi_timestamp_ms_t | threshold_ms, |
| sapi_timestamp_ms_t | now_ms, | ||
| char * | out_which, | ||
| size_t | which_size ) |
Definition at line 215 of file gateway_c_il_handler.c.
| void gateway_c_il_handler_execute | ( | gateway_c_context_t * | ctx, |
| uint32_t | cycle ) |
Definition at line 102 of file gateway_c_il_handler.c.
| sapi_status_t gateway_c_il_handler_init | ( | gateway_c_context_t * | ctx | ) |
Definition at line 40 of file gateway_c_il_handler.c.
| void gateway_c_il_handler_shutdown | ( | void | ) |
Definition at line 208 of file gateway_c_il_handler.c.
|
static |
Definition at line 17 of file gateway_c_il_handler.c.
|
static |
Definition at line 75 of file gateway_c_il_handler.c.
|
static |
Definition at line 89 of file gateway_c_il_handler.c.
|
static |
Definition at line 15 of file gateway_c_il_handler.c.