1#ifndef REACTOR_UC_ENVIRONMENT_H
2#define REACTOR_UC_ENVIRONMENT_H
4#include "reactor-uc/builtin_triggers.h"
5#include "reactor-uc/error.h"
6#include "reactor-uc/network_channel.h"
8#include "reactor-uc/reactor.h"
9#include "reactor-uc/scheduler.h"
void Environment_free(Environment *self)
Environment * _lf_environment
void Environment_ctor(Environment *self, Reactor *main)
Definition environment.h:14
interval_t(* get_elapsed_physical_time)(Environment *self)
Get the elapsed physical time since the start of the program.
Definition environment.h:57
void(* assemble)(Environment *self)
Assemble the program by computing levels for each reaction and setting up the scheduler.
Definition environment.h:28
instant_t(* get_logical_time)(Environment *self)
Get the current logical time.
Definition environment.h:52
Platform * platform
Definition environment.h:17
Reactor * main
Definition environment.h:15
instant_t(* get_physical_time)(Environment *self)
Get the current physical time.
Definition environment.h:62
Scheduler * scheduler
Definition environment.h:16
BuiltinTrigger * shutdown
Definition environment.h:21
bool has_async_events
Definition environment.h:18
interval_t(* get_elapsed_logical_time)(Environment *self)
Get the elapsed logical time since the start of the program.
Definition environment.h:47
bool fast_mode
Definition environment.h:19
size_t net_bundles_size
Definition environment.h:24
lf_ret_t(* wait_until)(Environment *self, instant_t wakeup_time)
Sleep until the wakeup time.
Definition environment.h:42
FederatedConnectionBundle ** net_bundles
Definition environment.h:22
void(* request_shutdown)(Environment *self)
Request the termination of the program.
Definition environment.h:79
void(* leave_critical_section)(Environment *self)
Leave a critical section.
Definition environment.h:72
BuiltinTrigger * startup
Definition environment.h:20
void(* enter_critical_section)(Environment *self)
Enter a critical section.
Definition environment.h:67
void(* start)(Environment *self)
Start the program.
Definition environment.h:33