Table of Contents

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

TDigitalTwin

User-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

context InitSimulationContext

Initial simulation processing context that allows to access shared data.

digitalTwin TDigitalTwin

Targeted digital twin instance.

startTime DateTimeOffset

The 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

context ProcessingContext<TDigitalTwin>

Digital twin model processing context.

digitalTwin TDigitalTwin

Targeted digital twin instance.

currentTime DateTimeOffset

The current simulation time.

Returns

Task<ProcessingResult>

DoUpdate if the digital twin object needs to be updated, or NoUpdate if no updates are needed.