Table of Contents

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

string

Model

Digital twin model type (e.g. "WindTurbine", "TemperatureSensor").

public string Model { get; set; }

Property Value

string

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

ulong

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

uint

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

id string

Digital twin identifier.

model string

Digital twin model type.

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

id string

Digital twin identifier.

model string

Digital twin model type.

initContext InitContext<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

id string

Digital twin identifier.

model string

Digital twin model type.

Returns

Task

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

id string

Digital twin identifier.

model string

Digital twin model type.

initContext InitContext<TDigitalTwin>

Context object providing operations that are available when a digital twin instance is being created.

Returns

Task