AsyncSimulation
Asynchronous Simulation implementation with callback functions.
Each task needs to be accompanied by a callback function that implements the simulation logic to be followed when the task completes.
Document{}
The type of the callback function.
The type of the callback function.
Its input consists of the generated TaskInstance and the timestamp when it was completed.
A Failure
input corresponds to an exception happening or an aborted task.
Declare IDs of TaskInstances that need to be aborted.
Declare IDs of TaskInstances that need to be aborted.
Calls respective Callbacks with Failure
.
- Value Params
- id
The
UUID
of the Tasks.
- Definition Classes
Declares that the simulation has finished processing one or more completed TaskInstances.
Declares that the simulation has finished processing one or more completed TaskInstances.
Identifies the tasks via their UUID.
- Inherited from
- Simulation
Manages a completed TaskInstance.
Manages a completed TaskInstance.
The simulation logic must react to this by either registering more tasks or finishing.
If new tasks are produced, the completed TaskInstance must be acknowledged
via
ack. Alternatively, if we do not want to ack
all completed tasks, we can just call
ready. Finally, if the simulation completes, we can use done, succeed or fail
accordingly.
Calls the corresponding Callback in the tasks
map and then removes the entry.
- Value Params
- task
The TaskInstance that completed.
- time
The timestamp of its completion.
- Definition Classes
Declares that the simulation completed.
Declares that the simulation completed.
- Value Params
- result
The result of the simulation.
- Inherited from
- Simulation
Declares that the simulation has failed or has been aborted.
Declares that the simulation has failed or has been aborted.
- Value Params
- exception
The
Throwable
that caused the failure.
- Inherited from
- Simulation
Calculates an optional Lookahead structure for tasks that are expected in the future.
Calculates an optional Lookahead structure for tasks that are expected in the future.
This is called via ready.
- Returns
The current Lookahead structure.
- Inherited from
- Simulation
Declares that the simulation has finished calculating and is ready for virtual time to proceed.
Declares that the simulation has finished calculating and is ready for virtual time to proceed.
- Inherited from
- Simulation
Requests that the Manager waits for this simulation before it continues.
Requests that the Manager waits for this simulation before it continues.
The simulation needs to either register more tasks and become ready
or finish.
- Note
- Inherited from
- Simulation
Declares that the simulation completed successfully.
Declares that the simulation completed successfully.
- Value Params
- result
The successful result of the simulation.
- Inherited from
- Simulation
Declare a new Task that needs to be sent to the Coordinator for simulation with a pre-determined ID.
Declare a new Task that needs to be sent to the Coordinator for simulation with a pre-determined ID.
The provided callback function will be called when the corresponding Task is completed.
When it finishes executing, it must notify the Coordinator either by acknowledging the completed task using ack or by completing the simulation using done, succeed or fail.
The ready method can also be called if there is no need to acknowledge completed tasks individually. This is unlikely in the current scenario where each task has its own callback, but it's still worth mentioning.
Declare a new Task that needs to be sent for simulation.
Declare a new Task that needs to be sent for simulation.
- Value Params
- t
The Task to send.
- Inherited from
- Simulation
A map of TaskInstance IDs that have been sent to the Manager and the callback functions that need to be called when the tasks complete.
A map of TaskInstance IDs that have been sent to the Manager and the callback functions that need to be called when the tasks complete.
Value members
Concrete methods
Creates a simple success callback from a function.
Creates a simple success callback from a function.
Does nothing on failure.
- Value Params
- f
The function to call on success.
- Returns
The created Callback.
Inherited methods
A unique name for the simulation.
A unique name for the simulation.
- Returns
The name of the SimulationRef.
- Inherited from
- SimulationRef