reactor-uc 0.1
Loading...
Searching...
No Matches
Environment Struct Reference

#include <environment.h>

Data Fields

Reactor * main
 
Scheduler * scheduler
 
Platformplatform
 
bool has_async_events
 
bool fast_mode
 
BuiltinTrigger * startup
 
BuiltinTrigger * shutdown
 
FederatedConnectionBundle ** net_bundles
 
size_t net_bundles_size
 
void(* assemble )(Environment *self)
 Assemble the program by computing levels for each reaction and setting up the scheduler.
 
void(* start )(Environment *self)
 Start the program.
 
lf_ret_t(* wait_until )(Environment *self, instant_t wakeup_time)
 Sleep until the wakeup time.
 
interval_t(* get_elapsed_logical_time )(Environment *self)
 Get the elapsed logical time since the start of the program.
 
instant_t(* get_logical_time )(Environment *self)
 Get the current logical time.
 
interval_t(* get_elapsed_physical_time )(Environment *self)
 Get the elapsed physical time since the start of the program.
 
instant_t(* get_physical_time )(Environment *self)
 Get the current physical time.
 
void(* enter_critical_section )(Environment *self)
 Enter a critical section.
 
void(* leave_critical_section )(Environment *self)
 Leave a critical section.
 
void(* request_shutdown )(Environment *self)
 Request the termination of the program.
 

Field Documentation

◆ assemble

void(* Environment::assemble) (Environment *self)

Assemble the program by computing levels for each reaction and setting up the scheduler.

◆ enter_critical_section

void(* Environment::enter_critical_section) (Environment *self)

Enter a critical section.

Either by disabling interrupts, using a mutex or both.

◆ fast_mode

bool Environment::fast_mode

◆ get_elapsed_logical_time

interval_t(* Environment::get_elapsed_logical_time) (Environment *self)

Get the elapsed logical time since the start of the program.

◆ get_elapsed_physical_time

interval_t(* Environment::get_elapsed_physical_time) (Environment *self)

Get the elapsed physical time since the start of the program.

◆ get_logical_time

instant_t(* Environment::get_logical_time) (Environment *self)

Get the current logical time.

◆ get_physical_time

instant_t(* Environment::get_physical_time) (Environment *self)

Get the current physical time.

◆ has_async_events

bool Environment::has_async_events

◆ leave_critical_section

void(* Environment::leave_critical_section) (Environment *self)

Leave a critical section.

Either by enabling interrupts, releasing a mutex or both.

◆ main

Reactor* Environment::main

◆ net_bundles

FederatedConnectionBundle** Environment::net_bundles

◆ net_bundles_size

size_t Environment::net_bundles_size

◆ platform

Platform* Environment::platform

◆ request_shutdown

void(* Environment::request_shutdown) (Environment *self)

Request the termination of the program.

The program will terminate at the earliest possible time, which is the current logical tag plus a microstep.

◆ scheduler

Scheduler* Environment::scheduler

◆ shutdown

BuiltinTrigger* Environment::shutdown

◆ start

void(* Environment::start) (Environment *self)

Start the program.

◆ startup

BuiltinTrigger* Environment::startup

◆ wait_until

lf_ret_t(* Environment::wait_until) (Environment *self, instant_t wakeup_time)

Sleep until the wakeup time.

If the program has physical actions or is federated, then the sleep will be interruptible.

Parameters
wakeup_timeThe absolute time to wake up.

The documentation for this struct was generated from the following file: