Table of Contents

Namespace Scaleout.Modules.DigitalTwin.Abstractions

Classes

AlertMessage

The AlertMessage objects contain all the data to send alerts to external services. This includes properties such as title, message and severity. Finally, alerts can include snapshots of instance properties along with the message.

DigitalTwinBase<TDigitalTwin>

All digital twin objects must be subclassed from this abstract base class to be integrated into the ScaleOut Digital Twins message processing pipeline.

DigitalTwinTimerMessage

Defines a timer message for data exchange between the timer's object expiration handler and the corresponding digital twin instance itself.

InitContext<TDigitalTwin>

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

InitSimulationContext

Context object that provides operations that are available when a new simulation starts

MessageProcessor

The top level abstract base class used by ScaleOut Digital Twin Library.

MessageProcessor<TDigitalTwin>

Abstract base class that must be subclassed to implement the message processor which processes incoming messages for a digital twin object.

ProcessingContext<TDigitalTwin>

Message processing context for currently processing messages. It allows sending messages back to a data source where the messages are originated from.

SimulationProcessor

Abstract base class used by ScaleOut Digital Twin Library infrastructure.

SimulationProcessor<TDigitalTwin>

Abstract base class for logic that gets triggered for every time interval in a simulation.

TimerMetadata<TDigitalTwin>

Used by the DigitalTwinBase<TDigitalTwin> class to store information about a timer associated with a Digital Twin instance.

Interfaces

IAnomalyDetectionProvider

Encapsulates the capabilities of a ScaleOut real-time digital twin anomaly detection provider.

IAzureDigitalTwinsProvider

Defines the methods available to ScaleOut Digital Twins for interacting with corresponding Azure Digital Twins (ADT) instances.

ICacheResult

Represents a response from an ISharedData operation.

IDigitalTwinModelEndpoint

Interface for use by client applications that send messages to digital twin instances.

IDigitalTwinModelProvider

Encapsulates the capabilities of a third-party digital twin persistence provider.

IMessageListFactory

Creates collection of new messages received by a digital twin object.

ISharedData

Provides access to objects that are shared between model instances.

ISimulationController

The methods of this interface allow user to control all aspects of digital twin's model simulation process.

Enums

AlertSeverity

Defines the severity levels for alert messages.

CacheOperationStatus

An enumeration that indicates the outcome of a cache operation.

CreateResult

Result codes for CreateTwinAsync(string, object).

DeleteResult

Result codes for DeleteTwinAsync(string) and RemoveRealTimeTwinAsync(string, string).

LogSeverity

Severity levels for logging messages to the ScaleOut UI.

ProcessingResult

Specifies whether or not a Digital Twin should be updated after a call to a ProcessMessageAsync(ProcessingContext<TDigitalTwin>, TDigitalTwin, byte[]) implementation has returned.

TimerActionResult

Defines result codes for timer methods.

TimerType

Defines the type of timer that can be created by StartTimerAsync(string, TimeSpan, TimerType, TimerAsyncHandler<TDigitalTwin>).

Delegates

TimerAsyncHandler<TDigitalTwin>

Digital twin timer delegate. Must be assigned to either a public static method or a class instance method.