Table of Contents

Namespace Scaleout.Streaming.DigitalTwin.Core

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.

AlertProviderType

Holds the different types of Alerting providers supported in the system.

DelegateSerializationConverter

Serializes a dictionary of user defined timer handlers/delegates.

DigitalTwinBase

All digital twin objects must be subclassed from this DigitalTwinBase abstract base class to be integrated into the ScaleOut StreamServer 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

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

MessageProcessor

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

MessageProcessor<TDigitalTwin, TMessage>

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

ProcessingContext

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

Used by the DigitalTwinBase 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 (based on ML.NET libraries).

ICacheResult

Represents a response from an ISharedData operation.

IDigitalTwinModelEndpoint

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

IMessageListFactory

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

IMessageSender

Interface that must be implemented by a message sender class for sending messages/events to a digital twin.

IPersistenceProvider

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

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

CacheOperationStatus

An enumeration that indicates the outcome of a cache operation.

LogSeverity

Defines the severity levels for logging messages.

PersistenceProviderType

List of supported persistence providers.

ProcessingResult

Specifies whether or not a Digital Twin should be updated after a call to a ProcessMessages(ProcessingContext, TDigitalTwin, IEnumerable<TMessage>) implementation has returned.

SendingResult

Indicates the status of a Send(string, string, IEnumerable<byte[]>) operation when sending messages to or from a digital twin object.

TimerActionResult

Defines result codes for timer methods.

TimerType

Defines the type of timer that can be created by StartTimer(string, TimeSpan, TimerType, TimerHandler).

Delegates

TimerHandler

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