An Orchestrator executes a set of, possibly dependent, Task
s.
A task corresponds to sending a message to an actor, handling its response and possibly mutate the internal state of the Orchestrator.
A task corresponds to sending a message to an actor, handling its response and possibly
mutate the internal state of the Orchestrator.
The answer(s) to the sent message must be handled in behavior
.
behavior
must invoke finish
when no further processing is necessary.
The pattern matching inside behavior
should invoke matchSenderAndID
to ensure
the received message is in fact the one that we were waiting to receive.
The internal state of the orchestrator might be mutated inside behavior
.
This class is super tightly coupled with Orchestrator and the reverse is also true.
This class changes the internal state of the orchestrator:
tasks
variable.behavior
the internal state of the orchestrator may be changed.In exchange the orchestrator changes the internal state of the task:
start
which changes the task status to Waiting.
An Orchestrator executes a set of, possibly dependent,
Task
s. A task corresponds to sending a message to an actor, handling its response and possibly mutate the internal state of the Orchestrator.The Orchestrator together with the Task is able to:
NOTE: the responses that are received must be Serializable.
In order for the Orchestrator and the Tasks to be able to achieve all of this they have to access and/or modify each others state directly. This means they are very tightly coupled with each other.