51Degrees Pipeline .NET  4.1

51Degrees Pipeline for .NET

FiftyOne.Pipeline.Core.FlowElements.ParallelElements Class Reference

Detailed Description

ParallelElements executes it's child IFlowElement objects in parallel.

Inheritance diagram for FiftyOne.Pipeline.Core.FlowElements.ParallelElements:

[legend]

Collaboration diagram for FiftyOne.Pipeline.Core.FlowElements.ParallelElements:

[legend]

Public Member Functions

 ParallelElements (ILogger< ParallelElements > logger, params IFlowElement[] flowElements)
Constructor More...

Public Member Functions inherited from FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< IElementData, IElementPropertyMetaData >

 FlowElementBase (ILogger< FlowElementBase< T, TMeta >> logger)
Constructor More...
 FlowElementBase (ILogger< FlowElementBase< T, TMeta >> logger, Func< IPipeline, FlowElementBase< T, TMeta >, T > elementDataFactory)
Constructor More...
virtual void  Process (IFlowData data)
Process the given IFlowData with this FlowElement. More...
virtual void  AddPipeline (IPipeline pipeline)
Called when this element is added to a pipeline. More...
void  Dispose ()
Dispose More...

Public Attributes

override bool  IsConcurrent => true
override IList< IElementPropertyMetaData >  Properties => throw new NotImplementedException()

Protected Member Functions

override void  ProcessInternal (IFlowData data)
Called by the Process method on the FlowElementBase<T, TMeta> base class. More...
override void  ManagedResourcesCleanup ()
Cleanup any managed resources that the element is using More...
override void  UnmanagedResourcesCleanup ()
Cleanup any unmanaged resources that the element is using More...

Protected Member Functions inherited from FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< IElementData, IElementPropertyMetaData >

abstract void  ProcessInternal (IFlowData data)
Abstract method called by Process(IFlowData). More...
virtual T  CreateElementData (IPipeline pipeline)
Method used to create element data instances that are populated by this flow element More...
virtual void  Dispose (bool disposing)
Dispose of any resources. More...

Protected Attributes

List< IFlowElement >  _flowElements

Properties

override string  ElementDataKey [get]
override IEvidenceKeyFilter  EvidenceKeyFilter [get]
Get a filter that will only include the evidence keys that can be used by at least one IFlowElement within this pipeline. More...

Properties inherited from FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< IElementData, IElementPropertyMetaData >

ILogger< FlowElementBase< T, TMeta > >  Logger [get]
The logger for this instance More...
IReadOnlyList< IPipeline >  Pipelines [get]
Get a read only list of the pipelines that this element has been added to. More...
abstract string  ElementDataKey [get]
The string name of the key used to access the data populated by this element in the IFlowData. More...
abstract IEvidenceKeyFilter  EvidenceKeyFilter [get]
A list of all the evidence keys that this Flow Element can make use of. More...
abstract IList< TMeta >  Properties [get]
Details of the properties that this engine can populate More...
virtual bool  Asynchronous [get]
True if the element can be run totally asynchronously, false otherwise. More...
virtual bool  IsConcurrent [get]
True if the element starts multiple threads. More...
bool  IsDisposed [get]
True if the element has been disposed More...
ITypedKey< T >  ElementDataKeyTyped [get]
Get the key used to access the data populated by this element in the IFlowData. More...

Constructor & Destructor Documentation

◆ ParallelElements()

FiftyOne.Pipeline.Core.FlowElements.ParallelElements.ParallelElements ( ILogger< ParallelElements >   logger,
params IFlowElement []   flowElements  
)

Constructor

Parameters
logger - The logger to be used by this instance.
flowElements - The list of IFlowElement instances to execute when Process is called.

Member Function Documentation

◆ ProcessInternal()

override void FiftyOne.Pipeline.Core.FlowElements.ParallelElements.ProcessInternal ( IFlowData   data )
protected

Called by the Process method on the FlowElementBase<T, TMeta> base class.

Executes all child elements in parallel.

Parameters
data - The data to use when executing the flow elements.

Property Documentation

◆ EvidenceKeyFilter

override IEvidenceKeyFilter FiftyOne.Pipeline.Core.FlowElements.ParallelElements.EvidenceKeyFilter
get

Get a filter that will only include the evidence keys that can be used by at least one IFlowElement within this pipeline.