reactor-c 1.0
C Runtime for Lingua Franca
Loading...
Searching...
No Matches
rti_local.h
Go to the documentation of this file.
1
15
16#ifndef RTI_LOCAL_H
17#define RTI_LOCAL_H
18
19#ifdef LF_ENCLAVES
20
21#include "lf_types.h"
22#include "rti_common.h"
23
39
44typedef struct {
47
55void initialize_local_rti(environment_t* envs, int num_envs);
56
62
72
94
108
124
136int lf_get_upstream_of(int enclave_id, uint16_t** result);
137
149int lf_get_downstream_of(int enclave_id, uint16_t** result);
150
162int lf_get_upstream_delay_of(int enclave_id, interval_t** result);
163
164#endif // LF_ENCLAVES
165#endif // RTI_LOCAL_H
int64_t interval_t
Interval of time.
Definition tag.h:107
int lf_get_downstream_of(int enclave_id, uint16_t **result)
Get the array of ids of enclaves directly downstream of the specified enclave.
void initialize_local_rti(environment_t *envs, int num_envs)
Dynamically create and initialize the local RTI.
tag_t rti_next_event_tag_locked(enclave_info_t *enclave, tag_t next_event_tag)
Notify the local RTI of a next event tag (NET).
int lf_get_upstream_of(int enclave_id, uint16_t **result)
Get the array of ids of enclaves directly upstream of the specified enclave.
void free_local_rti()
Free memory associated with the local the RTI and the local RTI iself.
int lf_get_upstream_delay_of(int enclave_id, interval_t **result)
Retrieve the delays on the connections to direct upstream enclaves.
void rti_update_other_net_locked(enclave_info_t *src, enclave_info_t *target, tag_t net)
Notify the local RTI to update the next event tag (NET) of a target enclave.
void initialize_enclave_info(enclave_info_t *enclave, int idx, environment_t *env)
Initialize the enclave object.
void rti_logical_tag_complete_locked(enclave_info_t *enclave, tag_t completed)
Inform the local RTI that enclave has completed tag completed.
Type definitions that are widely used across different parts of the runtime.
Common declarations for runtime infrastructure (RTI) for scheduling enclaves and distributed Lingua F...
Structure holding information about each enclave in the program.
Definition rti_local.h:30
environment_t * env
Pointer to the environment of the enclave.
Definition rti_local.h:34
lf_cond_t next_event_condition
Condition variable used by scheduling_nodes to notify an enclave that its call to next_event_tag() sh...
Definition rti_local.h:37
scheduling_node_t base
The base scheduling node information for this enclave.
Definition rti_local.h:32
Execution environment.
Definition environment.h:52
Common RTI data structure for both remote standalone RTI and local RTI used in enclaved execution.
Definition rti_common.h:103
Structure holding information about the local RTI.
Definition rti_local.h:44
rti_common_t base
Definition rti_local.h:45
Information about the scheduling nodes coordinated by the RTI.
Definition rti_common.h:64
A tag is a time, microstep pair.
Definition tag.h:119