Class DigitalTwinBase<TDigitalTwin>
- Namespace
- Scaleout.Modules.DigitalTwin.Abstractions
- Assembly
- Scaleout.Modules.DigitalTwin.Abstractions.dll
All digital twin objects must be subclassed from this abstract base class to be integrated into the ScaleOut Digital Twins message processing pipeline.
public abstract class DigitalTwinBase<TDigitalTwin> where TDigitalTwin : DigitalTwinBase<TDigitalTwin>
Type Parameters
TDigitalTwin
- Inheritance
-
DigitalTwinBase<TDigitalTwin>
- Inherited Members
Properties
Id
Unique digital twin identifier.
public string Id { get; set; }
Property Value
Model
Digital twin model type (e.g. "WindTurbine", "TemperatureSensor").
public string Model { get; set; }
Property Value
NextSimulationTimeUnixMsec
The next simulation time. Used when a digital twin instance is being used in a simulation and the next simulation time needs to be tracked on the instance.
public ulong NextSimulationTimeUnixMsec { get; set; }
Property Value
SourceNamespaceAppId
For internal use only. ScaleOut AppId of instance's datasource, or zero if not available. Used for SendToDataSourceAsync(byte[]) operations.
public uint SourceNamespaceAppId { get; set; }
Property Value
Methods
Init(string, string)
Override to implement initialization logic for a digital twin instance at creation time.
public virtual void Init(string id, string model)
Parameters
Init(string, string, InitContext<TDigitalTwin>)
Override to implement initialization logic for a digital twin instance at creation time.
public virtual void Init(string id, string model, InitContext<TDigitalTwin> initContext)
Parameters
idstringDigital twin identifier.
modelstringDigital twin model type.
initContextInitContext<TDigitalTwin>Context object providing operations that are available when a digital twin instance is being created.
InitAsync(string, string)
Override to implement initialization logic for a digital twin instance at creation time (async version).
public virtual Task InitAsync(string id, string model)
Parameters
Returns
InitAsync(string, string, InitContext<TDigitalTwin>)
Override to implement initialization logic for a digital twin instance at creation time (async version).
public virtual Task InitAsync(string id, string model, InitContext<TDigitalTwin> initContext)
Parameters
idstringDigital twin identifier.
modelstringDigital twin model type.
initContextInitContext<TDigitalTwin>Context object providing operations that are available when a digital twin instance is being created.