Peano
Loading...
Searching...
No Matches
peano4.api.solversteps.SynchroniseActionSets Namespace Reference

Data Structures

class  SynchroniseActionSets
 Marker which ends a group of action sets that run in parallel. More...
 

Functions

List[List[ActionSet]] get_task_groups (List[ActionSet] action_sets)
 Split a sequence of action sets into groups which are invoked one after the other.
 

Function Documentation

◆ get_task_groups()

List[List[ActionSet]] peano4.api.solversteps.SynchroniseActionSets.get_task_groups ( List[ActionSet]  action_sets)

Split a sequence of action sets into groups which are invoked one after the other.

We run through the action sets in their order. Consecutive action sets with parallel=True form one group, i.e. they may run in parallel. An action set with parallel=False forms a group of its own and ends the current group. A peano4.api.solversteps.SynchroniseActionSets.SynchroniseActionSets ends the current group, too, but does not show up in any group.

For the sequence V1, V2, V3, V4, V5 with V1, V2, V4 and V5 being parallel, we get the groups [V1, V2], [V3] and [V4, V5]: The observer spawns V1 and V2 as tasks and waits for them, then invokes V3, and finally spawns V4 and V5 and waits for them.

Parameters
action_sets[peano4.api.solversteps.ActionSet] Action sets in the order in which they are invoked.
Returns
[[peano4.api.solversteps.ActionSet]] Groups in invocation order. No group is empty.

Definition at line 68 of file SynchroniseActionSets.py.