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_cycle_hooks.h File Reference

Shared declarations for the four rte_appmanager_operations_t cyclic-executive hooks this component's main.c registers - ab_gp_channel_pre_execute()/ab_gp_channel_execute()/ab_gp_channel_post_execute()/ ab_gp_channel_on_checkpoint_result() (ADR-034), each defined in its own file (pre_execute.c/execute.c/post_execute.c - the last hook lives in post_execute.c too, since it flushes/discards the very output post_execute() itself stages) as a short orchestrator over the named, single-purpose step functions AB/GP/com/ab_gp_channel.c exposes (see that file's own doc for the full phase breakdown). Declared here, not in AB/GP/com/ab_gp_channel.h, since these are implemented in this component's own main/ - not com/ - even though they take the same opaque ab_gp_channel_handle_t (cast from the rte_appmanager hook's own void *context) every other com/-facing call here does. More...

#include <stdbool.h>
#include "rte/utils/status/rte_status.h"
Include dependency graph for ab_gp_channel_cycle_hooks.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

rte_status_t ab_gp_channel_pre_execute (void *context)
rte_status_t ab_gp_channel_execute (void *context)
rte_status_t ab_gp_channel_post_execute (void *context)
rte_status_t ab_gp_channel_on_checkpoint_result (void *context, bool committed)
 rte_appmanager_operations_t::on_checkpoint_result for the AB channel (ADR-034) - flushes or discards this cycle's staged output (see ab_gp_channel_stage.h) once the checkpoint stage (the cyclic executive's LAST stage this cycle) has confirmed, or failed to confirm, that both A/B channels took the same program path this cycle.

Detailed Description

Shared declarations for the four rte_appmanager_operations_t cyclic-executive hooks this component's main.c registers - ab_gp_channel_pre_execute()/ab_gp_channel_execute()/ab_gp_channel_post_execute()/ ab_gp_channel_on_checkpoint_result() (ADR-034), each defined in its own file (pre_execute.c/execute.c/post_execute.c - the last hook lives in post_execute.c too, since it flushes/discards the very output post_execute() itself stages) as a short orchestrator over the named, single-purpose step functions AB/GP/com/ab_gp_channel.c exposes (see that file's own doc for the full phase breakdown). Declared here, not in AB/GP/com/ab_gp_channel.h, since these are implemented in this component's own main/ - not com/ - even though they take the same opaque ab_gp_channel_handle_t (cast from the rte_appmanager hook's own void *context) every other com/-facing call here does.

Definition in file ab_gp_channel_cycle_hooks.h.

Function Documentation

◆ ab_gp_channel_pre_execute()

rte_status_t ab_gp_channel_pre_execute ( void * context)

rte_appmanager_operations_t::pre_execute - see pre_execute.c.

Definition at line 413 of file pre_execute.c.

◆ ab_gp_channel_execute()

rte_status_t ab_gp_channel_execute ( void * context)

rte_appmanager_operations_t::execute - see execute.c.

Definition at line 19 of file execute.c.

◆ ab_gp_channel_post_execute()

rte_status_t ab_gp_channel_post_execute ( void * context)

rte_appmanager_operations_t::post_execute - see post_execute.c.

Definition at line 208 of file post_execute.c.

◆ ab_gp_channel_on_checkpoint_result()

rte_status_t ab_gp_channel_on_checkpoint_result ( void * context,
bool committed )

rte_appmanager_operations_t::on_checkpoint_result for the AB channel (ADR-034) - flushes or discards this cycle's staged output (see ab_gp_channel_stage.h) once the checkpoint stage (the cyclic executive's LAST stage this cycle) has confirmed, or failed to confirm, that both A/B channels took the same program path this cycle.

rte_appmanager_operations_t::on_checkpoint_result (ADR-034) - see post_execute.c.

Definition at line 252 of file post_execute.c.