RTE RBC 2oo2 Reference Application
0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
Toggle main menu visibility
Loading...
Searching...
No Matches
ab_gp_channel_negotiate.h
Go to the documentation of this file.
1
#ifndef RTE_EXAMPLE_AB_GP_CHANNEL_NEGOTIATE_H
2
#define RTE_EXAMPLE_AB_GP_CHANNEL_NEGOTIATE_H
3
24
25
#include "
ab_gp_channel_types.h
"
26
41
rte_status_t
ab_gp_channel_negotiate_init
(
ab_gp_channel_context_t
*ctx);
42
55
void
ab_gp_channel_negotiate_execute
(
ab_gp_channel_context_t
*ctx, uint32_t cycle);
56
80
void
ab_gp_channel_negotiate_flush_faulted
(
ab_gp_channel_context_t
*ctx);
81
84
void
ab_gp_channel_negotiate_shutdown
(
ab_gp_channel_context_t
*ctx);
85
86
94
void
ab_gp_channel_negotiate_service_link
(
ab_gp_channel_context_t
*ctx);
95
104
void
ab_gp_channel_negotiate_sync_standby
(
ab_gp_channel_context_t
*ctx, uint32_t cycle);
105
114
void
ab_gp_channel_negotiate_on_takeover_confirm
(
ab_gp_channel_context_t
*ctx,
const
char
*payload);
115
129
void
ab_gp_channel_negotiate_on_startup_ts_frame
(
ab_gp_channel_context_t
*ctx,
const
uint8_t *payload,
size_t
size);
130
131
#endif
/* RTE_EXAMPLE_AB_GP_CHANNEL_NEGOTIATE_H */
ab_gp_channel_negotiate_flush_faulted
void ab_gp_channel_negotiate_flush_faulted(ab_gp_channel_context_t *ctx)
Best-effort, synchronous final send of this channel's own {faulted=true, single_mode}...
Definition
ab_gp_channel_negotiate.c:673
ab_gp_channel_negotiate_on_takeover_confirm
void ab_gp_channel_negotiate_on_takeover_confirm(ab_gp_channel_context_t *ctx, const char *payload)
Records a dispatcher confirmation that the other site is not ONLINE (from Gateway,...
Definition
ab_gp_channel_negotiate.c:653
ab_gp_channel_negotiate_sync_standby
void ab_gp_channel_negotiate_sync_standby(ab_gp_channel_context_t *ctx, uint32_t cycle)
ONLINE only: send this cycle's post-compute snapshot to STANDBY and wait (bounded by the link's ack t...
Definition
ab_gp_channel_negotiate.c:645
ab_gp_channel_negotiate_service_link
void ab_gp_channel_negotiate_service_link(ab_gp_channel_context_t *ctx)
Fast internal-cycle service of the negotiation link (warm/hot standby only).
Definition
ab_gp_channel_negotiate.c:637
ab_gp_channel_negotiate_execute
void ab_gp_channel_negotiate_execute(ab_gp_channel_context_t *ctx, uint32_t cycle)
Runs one cycle's worth of inter-site negotiation: drives the negotiator's own STATE-frame exchange (d...
Definition
ab_gp_channel_negotiate.c:625
ab_gp_channel_negotiate_on_startup_ts_frame
void ab_gp_channel_negotiate_on_startup_ts_frame(ab_gp_channel_context_t *ctx, const uint8_t *payload, size_t size)
Handles a PEER_MSG_KIND_STARTUP_TS frame that arrives after ab_gp_channel_negotiate_init() returned (...
Definition
ab_gp_channel_negotiate.c:532
ab_gp_channel_negotiate_init
rte_status_t ab_gp_channel_negotiate_init(ab_gp_channel_context_t *ctx)
Opens this channel's own inter-site negotiation link (WEST LISTENs, EAST CONNECTs),...
Definition
ab_gp_channel_negotiate.c:554
ab_gp_channel_negotiate_shutdown
void ab_gp_channel_negotiate_shutdown(ab_gp_channel_context_t *ctx)
Definition
ab_gp_channel_negotiate.c:678
ab_gp_channel_types.h
Modular type definitions for AB channel components (Com, Train, DB, Redundancy).
ab_gp_channel_context_t
Central application context owned by composition root (main.c).
Definition
ab_gp_channel_types.h:155
src
application
AB
GP
com
ab_gp_channel_negotiate.h
Generated by
1.18.0