Class WorkItemAggregatorService<TContext>
Aggregates same/equal (as defined by item's IAggregatableWorkItem.AggregationKey) work items posted into queue to limit the penetration of duplicate work items in destination queue
Inheritance
System.Object
WorkItemAggregatorService<TContext>
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX.ServiceModel
Assembly: NFX.dll
Syntax
public class WorkItemAggregatorService<TContext> : Service, IApplicationComponent, IDisposable, IService, INamed, IConfigurable, ILocalizedTimeProvider, IWorkQueue<TContext> where TContext : class
Type Parameters
| Name | Description |
|---|---|
| TContext |
Constructors
WorkItemAggregatorService(IWorkQueue<TContext>)
Declaration
public WorkItemAggregatorService(IWorkQueue<TContext> destination)
Parameters
| Type | Name | Description |
|---|---|---|
| IWorkQueue<TContext> | destination |
Properties
Context
Declaration
public TContext Context { get; }
Property Value
| Type | Description |
|---|---|
| TContext |
DestinationPostInterval
Defines an interval measured in milliseconds for posting into destination queue
Declaration
public int DestinationPostInterval { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
DestinationQueue
Returns the destination queue
Declaration
public IWorkQueue<TContext> DestinationQueue { get; }
Property Value
| Type | Description |
|---|---|
| IWorkQueue<TContext> |
ProcessedFailureCount
Declaration
public long ProcessedFailureCount { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
ProcessedSuccessCount
Declaration
public long ProcessedSuccessCount { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
Methods
Destructor()
Declaration
protected override void Destructor()
Overrides
DoSignalStop()
Declaration
protected override void DoSignalStop()
Overrides
DoStart()
Declaration
protected override void DoStart()
Overrides
DoWaitForCompleteStop()
Declaration
protected override void DoWaitForCompleteStop()
Overrides
PostItem(IWorkItem<TContext>)
Posts work item in the service. This item may not be posted into destination if the same item was already recently posted into destination queue, however if no same work item will come within timeout, then this item will eventually post
Declaration
public void PostItem(IWorkItem<TContext> work)
Parameters
| Type | Name | Description |
|---|---|---|
| IWorkItem<TContext> | work |
Implements
System.IDisposable