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