reactor-c 1.0
C Runtime for Lingua Franca
Loading...
Searching...
No Matches
rti_local.h File Reference

This file declares functions used to implement scheduling enclaves. More...

#include "lf_types.h"
#include "rti_common.h"

Go to the source code of this file.

Data Structures

struct  enclave_info_t
 Structure holding information about each enclave in the program. More...
struct  rti_local_t
 Structure holding information about the local RTI. More...

Typedefs

typedef struct enclave_info_t enclave_info_t
 Structure holding information about each enclave in the program.

Functions

void free_local_rti ()
 Free memory associated with the local the RTI and the local RTI iself.
void initialize_enclave_info (enclave_info_t *enclave, int idx, environment_t *env)
 Initialize the enclave object.
void initialize_local_rti (environment_t *envs, int num_envs)
 Dynamically create and initialize the local RTI.
int lf_get_downstream_of (int enclave_id, uint16_t **result)
 Get the array of ids of enclaves directly downstream of the specified enclave.
int lf_get_upstream_delay_of (int enclave_id, interval_t **result)
 Retrieve the delays on the connections to direct upstream enclaves.
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 rti_logical_tag_complete_locked (enclave_info_t *enclave, tag_t completed)
 Inform the local RTI that enclave has completed tag completed.
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).
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.

Detailed Description

This file declares functions used to implement scheduling enclaves.

Author
Erling Jellum
Edward A. Lee
Chadlia Jerad
Soroush Bateni

A scheduling enclave is portion of the runtime system that maintains its own event and reaction queues and has its own scheduler. It uses a local runtime infrastructure (RTI) to coordinate the advancement of tags across enclaves.