Class SimulationProcessor<TDigitalTwin>
- Namespace
- Scaleout.Modules.DigitalTwin.Abstractions
- Assembly
- Scaleout.Modules.DigitalTwin.Abstractions.dll
Abstract base class for logic that gets triggered for every time interval in a simulation.
public abstract class SimulationProcessor<TDigitalTwin> : SimulationProcessor where TDigitalTwin : DigitalTwinBase<TDigitalTwin>
Type Parameters
TDigitalTwinUser-defined type for a digital twin object.
- Inheritance
-
SimulationProcessor<TDigitalTwin>
- Inherited Members
Methods
OnInitSimulation(InitSimulationContext, TDigitalTwin, DateTimeOffset)
This method called by the ScaleOut service when the simulation starts.
public virtual ProcessingResult OnInitSimulation(InitSimulationContext context, TDigitalTwin digitalTwin, DateTimeOffset startTime)
Parameters
contextInitSimulationContextInitial simulation processing context that allows to access shared data.
digitalTwinTDigitalTwinTargeted digital twin instance.
startTimeDateTimeOffsetThe simulation start time.
Returns
- ProcessingResult
DoUpdate if the digital twin object needs to be updated, or NoUpdate if no updates are needed.
ProcessModelAsync(ProcessingContext<TDigitalTwin>, TDigitalTwin, DateTimeOffset)
The method called by the ScaleOut service every time the simulation time interval has elapsed.
public abstract Task<ProcessingResult> ProcessModelAsync(ProcessingContext<TDigitalTwin> context, TDigitalTwin digitalTwin, DateTimeOffset currentTime)
Parameters
contextProcessingContext<TDigitalTwin>Digital twin model processing context.
digitalTwinTDigitalTwinTargeted digital twin instance.
currentTimeDateTimeOffsetThe current simulation time.
Returns
- Task<ProcessingResult>
DoUpdate if the digital twin object needs to be updated, or NoUpdate if no updates are needed.