Actors
Actors are instanciated commands, i.e. an actor is an association of a module and a command from this module that can be called from a process. Additionnally, one can add attributes to an actor to refine its execution. Some attributes are generic (compatible with all actors), but some may be command specific.
Declaration
Actors are declared in the "actors" section of the experiment file. An actor is defined as a module, a command from this module and optional attributes.
[actors]
set_key = ["arduino", "set_key"]
encrypt = ["arduino", "fast", "post_tempo=100ms"]
In the above example, two actors are defined for the same arduino module. The second actor define an attribute, here a temporisation after the command (to throttle the encryption speed). Several attributes may be defined, simply separate them by a comma ','. Example:
encrypt = ["arduino", "fast", "post_tempo=100ms", "pre_tempo=20ms"]
Generic attributes
Attribute name | Description | Example |
pre_tempo | Wait for the given duration before executing the command when the actor has received its data | "pre_tempo=200ms" |
post_tempo | Wait for the given duration after executing the command | "post_tempo=200ms" |
wait_validation | Wait the validation of this actor. A validation occurs when the possible consequences of this actor execution have all terminated. | wait_validation |
sync_timeout | Fix the timeout duration an actor will wait its input for. If an actor does not receive all necessary input before this duration, the process fails. The value is 120s by default. | sync_timeout=10ks |