reactor-c 1.0
C Runtime for Lingua Franca
Loading...
Searching...
No Matches
scheduling_node_t Struct Reference

Information about the scheduling nodes coordinated by the RTI. More...

#include <rti_common.h>

Data Fields

tag_t completed
 The largest logical tag completed by the scheduling node (or NEVER if no LTC has been received).
int flags
 One of IS_IN_ZERO_DELAY_CYCLE, IS_IN_CYCLE.
uint16_t id
 ID of this scheduling node.
uint16_t * immediate_downstreams
 Array of immediate downstream scheduling node ids.
interval_timmediate_upstream_delays
 Minimum delay on connections from immediate upstream scheduling nodes.
uint16_t * immediate_upstreams
 Array of immediate upstream scheduling node ids.
tag_t last_DNET
 Most recent DNET.
tag_t last_granted
 The maximum TAG that has been granted so far (or NEVER if none granted).
tag_t last_provisionally_granted
 The maximum PTAG that has been provisionally granted (or NEVER if none granted).
execution_mode_t mode
 FAST or REALTIME.
tag_t next_event
 Most recent NET received from the scheduling node (or NEVER if none received).
uint16_t num_immediate_downstreams
 Size of the array of immediate downstream scheduling nodes.
uint16_t num_immediate_upstreams
 Size of the array of immediate upstream scheduling nodes and delays.
scheduling_node_state_t state
 State of the scheduling node.

Detailed Description

Information about the scheduling nodes coordinated by the RTI.

The abstract scheduling node could either be an enclave or a federate. The information includes its runtime state, mode of execution, and connectivity with other scheduling nodes. The list of upstream and downstream scheduling nodes does not include those that are connected via a "physical" connection (one denoted with ~>) because those connections do not impose any scheduling constraints.

Field Documentation

◆ completed

tag_t scheduling_node_t::completed

The largest logical tag completed by the scheduling node (or NEVER if no LTC has been received).

◆ flags

int scheduling_node_t::flags

One of IS_IN_ZERO_DELAY_CYCLE, IS_IN_CYCLE.

◆ id

uint16_t scheduling_node_t::id

ID of this scheduling node.

◆ immediate_downstreams

uint16_t* scheduling_node_t::immediate_downstreams

Array of immediate downstream scheduling node ids.

◆ immediate_upstream_delays

interval_t* scheduling_node_t::immediate_upstream_delays

Minimum delay on connections from immediate upstream scheduling nodes.

NEVER encodes no delay. 0LL is a microstep delay.

◆ immediate_upstreams

uint16_t* scheduling_node_t::immediate_upstreams

Array of immediate upstream scheduling node ids.

◆ last_DNET

tag_t scheduling_node_t::last_DNET

Most recent DNET.

◆ last_granted

tag_t scheduling_node_t::last_granted

The maximum TAG that has been granted so far (or NEVER if none granted).

◆ last_provisionally_granted

tag_t scheduling_node_t::last_provisionally_granted

The maximum PTAG that has been provisionally granted (or NEVER if none granted).

◆ mode

execution_mode_t scheduling_node_t::mode

FAST or REALTIME.

◆ next_event

tag_t scheduling_node_t::next_event

Most recent NET received from the scheduling node (or NEVER if none received).

◆ num_immediate_downstreams

uint16_t scheduling_node_t::num_immediate_downstreams

Size of the array of immediate downstream scheduling nodes.

◆ num_immediate_upstreams

uint16_t scheduling_node_t::num_immediate_upstreams

Size of the array of immediate upstream scheduling nodes and delays.

◆ state

scheduling_node_state_t scheduling_node_t::state

State of the scheduling node.


The documentation for this struct was generated from the following file:
  • /Users/runner/work/reactor-c/reactor-c/core/federated/RTI/rti_common.h