![]() |
reactor-c 1.0
C Runtime for Lingua Franca
|
Structure that an RTI instance uses to keep track of its own and its corresponding federates' state. More...
#include <rti_remote.h>
Data Fields | |
| volatile bool | all_federates_exited |
| Boolean indicating that all federates have exited. | |
| volatile bool | all_persistent_federates_exited |
| Boolean indicating that all persistent federates have exited. | |
| bool | authentication_enabled |
| Boolean indicating that authentication is enabled. | |
| rti_common_t | base |
| The base RTI common data structure. | |
| int32_t | clock_sync_exchanges_per_interval |
| Number of messages exchanged for each clock sync attempt. | |
| clock_sync_stat | clock_sync_global_status |
| Indicates whether clock sync is globally on for the federation. | |
| uint64_t | clock_sync_period_ns |
| Frequency (period in nanoseconds) between clock sync attempts. | |
| lf_thread_t | clock_thread |
| Thread performing PTP clock sync sessions periodically. | |
| pqueue_delayed_grants_t * | delayed_grants |
| Queue of the pending grants, in case transient federates are absent and issuing grants to their downstreams need to be delayed. | |
| const char * | federation_id |
| The ID of the federation that this RTI will supervise. | |
| uint16_t | final_port_UDP |
| The final port number that the UDP socket server ends up using. | |
| int64_t | max_start_time |
| Maximum start time seen so far from the federates. | |
| int | num_feds_proposed_start |
| Number of federates that have proposed start times. | |
| int32_t | number_of_connected_transient_federates |
| Number of connected transient federates. | |
| int32_t | number_of_transient_federates |
| Number of transient federates. | |
| federation_life_cycle_phase | phase |
| Indicates the life cycle phase of the federation. | |
| net_abstraction_t | rti_net |
| The rti's network abstraction. | |
| int | socket_descriptor_UDP |
| The UDP socket descriptor for the socket server. | |
| int64_t | start_time_multiple |
| If nonzero, the federation start time is delayed so that the starting logical time is an integer multiple of this value (in nanoseconds). | |
| bool | stop_in_progress |
| Boolean indicating that a stop request is already in progress. | |
| uint16_t | user_specified_port |
| The desired port specified by the user on the command line. | |
Structure that an RTI instance uses to keep track of its own and its corresponding federates' state.
It is a special case of rti_common_t (declared in enclave.h). Inheritence is mimicked by having the first attributes to be the same as of rti_common_t, except that scheduling_nodes attribute here is of type federate_info_t**, while it is of type scheduling_node_t** in rti_common_t.
| volatile bool rti_remote_t::all_federates_exited |
Boolean indicating that all federates have exited.
This gets set to true exactly once before the program exits. It is marked volatile because the write is not guarded by a mutex. The main thread makes this true, then calls shutdown and close on the socket, which will cause accept() to return with an error code in respond_to_erroneous_connections().
| volatile bool rti_remote_t::all_persistent_federates_exited |
Boolean indicating that all persistent federates have exited.
This gets set to true exactly once before the program waits for persistent federates, then exits. It is marked volatile because the write is not guarded by a mutex. The main thread makes this true.
| bool rti_remote_t::authentication_enabled |
Boolean indicating that authentication is enabled.
| rti_common_t rti_remote_t::base |
The base RTI common data structure.
| int32_t rti_remote_t::clock_sync_exchanges_per_interval |
Number of messages exchanged for each clock sync attempt.
| clock_sync_stat rti_remote_t::clock_sync_global_status |
Indicates whether clock sync is globally on for the federation.
Federates can still selectively disable clock synchronization if they wanted to.
| uint64_t rti_remote_t::clock_sync_period_ns |
Frequency (period in nanoseconds) between clock sync attempts.
| lf_thread_t rti_remote_t::clock_thread |
Thread performing PTP clock sync sessions periodically.
| pqueue_delayed_grants_t* rti_remote_t::delayed_grants |
Queue of the pending grants, in case transient federates are absent and issuing grants to their downstreams need to be delayed.
| const char* rti_remote_t::federation_id |
The ID of the federation that this RTI will supervise.
This should be overridden with a command-line -i option to ensure that each federate only joins its assigned federation.
| uint16_t rti_remote_t::final_port_UDP |
The final port number that the UDP socket server ends up using.
| int64_t rti_remote_t::max_start_time |
Maximum start time seen so far from the federates.
| int rti_remote_t::num_feds_proposed_start |
Number of federates that have proposed start times.
| int32_t rti_remote_t::number_of_connected_transient_federates |
Number of connected transient federates.
| int32_t rti_remote_t::number_of_transient_federates |
Number of transient federates.
| federation_life_cycle_phase rti_remote_t::phase |
Indicates the life cycle phase of the federation.
| net_abstraction_t rti_remote_t::rti_net |
The rti's network abstraction.
| int rti_remote_t::socket_descriptor_UDP |
The UDP socket descriptor for the socket server.
| int64_t rti_remote_t::start_time_multiple |
If nonzero, the federation start time is delayed so that the starting logical time is an integer multiple of this value (in nanoseconds).
The default of 0 means that no such alignment is performed. This is set by the -m or --start-time-multiple command-line option, which the generated launch script forwards to the RTI.
| bool rti_remote_t::stop_in_progress |
Boolean indicating that a stop request is already in progress.
| uint16_t rti_remote_t::user_specified_port |
The desired port specified by the user on the command line.
This should be not moved to the net_abstraction_t, because the user can configure this as -p or –port.