Class SequencerConsumerBehavior
Uses the available implementations of ISequenceReader to assign the incoming message to the right sequence.
Inherited Members
Namespace: Silverback.Messaging.Sequences
Assembly: Silverback.Integration.dll
Syntax
public class SequencerConsumerBehavior : SequencerConsumerBehaviorBase, IConsumerBehavior, IBrokerBehavior, ISorted
Remarks
A sequence is a set of messages that are handled as a single unit of work. A sequence could be used to group all chunks belonging to the same source message, all messages belonging to the same data set or to implement batch processing.
Constructors
SequencerConsumerBehavior(IEnumerable<ISequenceReader>, ISilverbackLogger<SequencerConsumerBehavior>)
Initializes a new instance of the SequencerConsumerBehavior class.
Declaration
public SequencerConsumerBehavior(IEnumerable<ISequenceReader> sequenceReaders, ISilverbackLogger<SequencerConsumerBehavior> logger)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<ISequenceReader> | sequenceReaders | The ISequenceReader implementations to be used. |
| ISilverbackLogger<SequencerConsumerBehavior> | logger | The ISilverbackLogger. |
Remarks
A sequence is a set of messages that are handled as a single unit of work. A sequence could be used to group all chunks belonging to the same source message, all messages belonging to the same data set or to implement batch processing.
Properties
SortIndex
Gets the sort index.
Declaration
public override int SortIndex { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Remarks
A sequence is a set of messages that are handled as a single unit of work. A sequence could be used to group all chunks belonging to the same source message, all messages belonging to the same data set or to implement batch processing.
Methods
HandleAsync(ConsumerPipelineContext, ConsumerBehaviorHandler, CancellationToken)
Process, handles or transforms the message being consumed.
Declaration
public override ValueTask HandleAsync(ConsumerPipelineContext context, ConsumerBehaviorHandler next, CancellationToken cancellationToken)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsumerPipelineContext | context | The context that is passed along the behaviors pipeline. |
| ConsumerBehaviorHandler | next | The next behavior in the pipeline. |
| CancellationToken | cancellationToken | The cancellation token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | A ValueTask representing the asynchronous operation. |
Overrides
Remarks
A sequence is a set of messages that are handled as a single unit of work. A sequence could be used to group all chunks belonging to the same source message, all messages belonging to the same data set or to implement batch processing.
PublishSequenceAsync(ConsumerPipelineContext, ConsumerBehaviorHandler, CancellationToken)
Forwards the new sequence to the next behavior in the pipeline.
Declaration
protected override ValueTask PublishSequenceAsync(ConsumerPipelineContext context, ConsumerBehaviorHandler next, CancellationToken cancellationToken)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsumerPipelineContext | context | The context that is passed along the behaviors pipeline. |
| ConsumerBehaviorHandler | next | The next behavior in the pipeline. |
| CancellationToken | cancellationToken | The cancellation token that can be used to cancel the operation. |
Returns
| Type | Description |
|---|---|
| ValueTask | A Task representing the asynchronous operation. |
Overrides
Remarks
A sequence is a set of messages that are handled as a single unit of work. A sequence could be used to group all chunks belonging to the same source message, all messages belonging to the same data set or to implement batch processing.