Table of Contents

Interface IFlowModule

Namespace
Crosser.EdgeNode.Flows.Abstractions
Assembly
Crosser.EdgeNode.Flows.Abstractions.dll

Base class for all modules.

public interface IFlowModule : IDisposable
Inherited Members

Properties

Categories

List<string> Categories { get; set; }

Property Value

List<string>

Debug

bool Debug { get; set; }

Property Value

bool

Description

string Description { get; }

Property Value

string

Disabled

bool Disabled { get; set; }

Property Value

bool

FlowContext

[JsonIgnore]
RepositoryInstance<string, dynamic> FlowContext { get; }

Property Value

RepositoryInstance<string, dynamic>

FlowId

Guid FlowId { get; set; }

Property Value

Guid

FlowName

string FlowName { get; }

Property Value

string

FlowStatistics

[Obsolete("Will be removed in the next major version")]
[JsonIgnore]
FlowStatistics FlowStatistics { get; set; }

Property Value

FlowStatistics

HaltOnError

bool HaltOnError { get; set; }

Property Value

bool

HasInput

bool HasInput { get; set; }

Property Value

bool

HasOutput

bool HasOutput { get; }

Property Value

bool

Id

Guid Id { get; set; }

Property Value

Guid

Index

int Index { get; set; }

Property Value

int

Logger

ILog? Logger { get; }

Property Value

ILog

ModuleProtocol

[Obsolete("Will be removed in the next major version")]
FlowModuleProtocol ModuleProtocol { get; set; }

Property Value

FlowModuleProtocol

ModuleStatistics

[Obsolete("Will be removed in the next major version")]
[JsonIgnore]
FlowModuleStatistics ModuleStatistics { get; set; }

Property Value

FlowModuleStatistics

ModuleType

FlowModuleType ModuleType { get; set; }

Property Value

FlowModuleType

ModuleVersion

string ModuleVersion { get; set; }

Property Value

string

Name

string Name { get; set; }

Property Value

string

OnDebug

[JsonIgnore]
EventHandler<ModuleDebugMessage>? OnDebug { get; set; }

Property Value

EventHandler<ModuleDebugMessage>

OnError

[JsonIgnore]
EventHandler<FlowModuleException>? OnError { get; set; }

Property Value

EventHandler<FlowModuleException>

OnFlowDataReceived

[Obsolete("Will be removed in the next major version")]
[JsonIgnore]
EventHandler<FlowStatisticsData>? OnFlowDataReceived { get; set; }

Property Value

EventHandler<FlowStatisticsData>

OnFlowDataSent

[Obsolete("Will be removed in the next major version")]
[JsonIgnore]
EventHandler<FlowStatisticsData>? OnFlowDataSent { get; set; }

Property Value

EventHandler<FlowStatisticsData>

OnMessageDeadLetter

[JsonIgnore]
EventHandler<MessageEvent>? OnMessageDeadLetter { get; set; }

Property Value

EventHandler<MessageEvent>

OnMessageDropped

[JsonIgnore]
EventHandler<MessageEvent>? OnMessageDropped { get; set; }

Property Value

EventHandler<MessageEvent>

OnModuleDataReceived

[Obsolete("Will be removed in the next major version")]
[JsonIgnore]
EventHandler<FlowModuleStatisticsData>? OnModuleDataReceived { get; set; }

Property Value

EventHandler<FlowModuleStatisticsData>

OnModuleDataSent

[Obsolete("Will be removed in the next major version")]
[JsonIgnore]
EventHandler<FlowModuleStatisticsData>? OnModuleDataSent { get; set; }

Property Value

EventHandler<FlowModuleStatisticsData>

OnStatusChanged

[JsonIgnore]
EventHandler<ModuleStatusEvent>? OnStatusChanged { get; set; }

Property Value

EventHandler<ModuleStatusEvent>

OnWarning

[JsonIgnore]
EventHandler<FlowModuleException>? OnWarning { get; set; }

Property Value

EventHandler<FlowModuleException>

Outputs

List<RepositoryInstance<Guid, IFlowModule?>> Outputs { get; set; }

Property Value

List<RepositoryInstance<Guid, IFlowModule>>

ReceivesInputFromMultipleModules

bool ReceivesInputFromMultipleModules { get; set; }

Property Value

bool

RemoteSessionEnabled

bool RemoteSessionEnabled { get; set; }

Property Value

bool

Resources

IList<ResourceBase> Resources { get; set; }

Property Value

IList<ResourceBase>

Settings

FlowModuleSettings Settings { get; }

Property Value

FlowModuleSettings

Status

Status Status { get; }

Property Value

Status

Topic

[Obsolete("Will be removed in the next major version")]
string? Topic { get; set; }

Property Value

string

Type

string Type { get; }

Property Value

string

UserFriendlyName

string UserFriendlyName { get; }

Property Value

string

Methods

CanStart()

[Obsolete("Use Initialize and Start to handle and return errors")]
IError? CanStart()

Returns

IError

FlowDefinitionId()

Guid FlowDefinitionId()

Returns

Guid

Initialize()

Task<IError?> Initialize()

Returns

Task<IError>

InitializeInteractivity()

Override this method and register your module interactivity methods

void InitializeInteractivity()

LoadSettings(string)

void LoadSettings(string settingsAsJson)

Parameters

settingsAsJson string

Receive(IFlowMessage)

Task Receive(IFlowMessage message)

Parameters

message IFlowMessage

Returns

Task

ReceiveFrom(IFlowModule, int)

IFlowModule ReceiveFrom(IFlowModule module, int ix = 0)

Parameters

module IFlowModule
ix int

Returns

IFlowModule

SendTo(IFlowModule, int)

IFlowModule SendTo(IFlowModule module, int ix = 0)

Parameters

module IFlowModule
ix int

Returns

IFlowModule

SetStatus(Status)

void SetStatus(Status status)

Parameters

status Status

SetStatus(Status, string)

void SetStatus(Status status, string message)

Parameters

status Status
message string

SetStatus(Status, string, bool, Exception)

void SetStatus(Status status, string message, bool force, Exception exception)

Parameters

status Status
message string
force bool
exception Exception

Start()

Task<IError?> Start()

Returns

Task<IError>

Stop()

Task Stop()

Returns

Task

ValidateSettings(SettingsValidator)

void ValidateSettings(SettingsValidator validator)

Parameters

validator SettingsValidator