reactor-c
C Runtime for Lingua Franca
Loading...
Searching...
No Matches
rti_local.h
Go to the documentation of this file.
1
17#ifndef RTI_LOCAL_H
18#define RTI_LOCAL_H
19
20#ifdef LF_ENCLAVES
21
22#include "lf_types.h"
23#include "rti_common.h"
24
30typedef struct enclave_info_t {
31 scheduling_node_t base;
32 environment_t* env; // A pointer to the environment of the enclave
33 lf_cond_t next_event_condition; // Condition variable used by scheduling_nodes to notify an enclave
34 // that it's call to next_event_tag() should unblock.
36
40typedef struct {
41 rti_common_t base;
42} rti_local_t;
43
49void initialize_local_rti(environment_t* envs, int num_envs);
50
54void free_local_rti();
55
62void initialize_enclave_info(enclave_info_t* enclave, int idx, environment_t* env);
63
83tag_t rti_next_event_tag_locked(enclave_info_t* enclave, tag_t next_event_tag);
84
96void rti_logical_tag_complete_locked(enclave_info_t* enclave, tag_t completed);
97
111void rti_update_other_net_locked(enclave_info_t* src, enclave_info_t* target, tag_t net);
112
123int lf_get_upstream_of(int enclave_id, int** result);
124
135int lf_get_downstream_of(int enclave_id, int** result);
136
147int lf_get_upstream_delay_of(int enclave_id, interval_t** result);
148
149#endif // LF_ENCLAVES
150#endif // RTI_LOCAL_H
struct enclave_info_t enclave_info_t
Definition environment.h:46
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...
Execution environment. This struct contains information about the execution environment....
Definition environment.h:69
Definition lf_POSIX_threads_support.h:41
Definition tag.h:81
int64_t interval_t
Definition tag.h:71