Table of Contents

Class RawSequencerConsumerBehavior

Namespace
Silverback.Messaging.Sequences
Assembly
Silverback.Integration.dll

Uses the available implementations of ISequenceReader to assign the incoming message to the right sequence.

public class RawSequencerConsumerBehavior : SequencerConsumerBehaviorBase, IConsumerBehavior, IBrokerBehavior, ISorted
Inheritance
RawSequencerConsumerBehavior
Implements
Inherited Members

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

RawSequencerConsumerBehavior(IEnumerable<ISequenceReader>, ISilverbackLogger<RawSequencerConsumerBehavior>)

Initializes a new instance of the RawSequencerConsumerBehavior class.

public RawSequencerConsumerBehavior(IEnumerable<ISequenceReader> sequenceReaders, ISilverbackLogger<RawSequencerConsumerBehavior> logger)

Parameters

sequenceReaders IEnumerable<ISequenceReader>

The ISequenceReader implementations to be used.

logger ISilverbackLogger<RawSequencerConsumerBehavior>

The ISilverbackLogger.

Properties

SortIndex

Gets the sort index.

public override int SortIndex { get; }

Property Value

int

Methods

AwaitOtherBehaviorIfNeededAsync(ISequence)

When overridden in a derived class awaits for the sequence to be processed by the other twin behavior. This is used to have the RawSequencerConsumerBehavior wait for the processing by the SequencerConsumerBehavior and it's needed to be able to properly determine the sequence end in the case where a ChunkSequence is added into another sequence (e.g. BatchSequence).

protected override ValueTask AwaitOtherBehaviorIfNeededAsync(ISequence sequence)

Parameters

sequence ISequence

The current sequence.

Returns

ValueTask

A Task representing the asynchronous operation.

PublishSequenceAsync(ConsumerPipelineContext, ConsumerBehaviorHandler, CancellationToken)

Forwards the new sequence to the next behavior in the pipeline.

protected override ValueTask PublishSequenceAsync(ConsumerPipelineContext context, ConsumerBehaviorHandler next, CancellationToken cancellationToken)

Parameters

context ConsumerPipelineContext

The context that is passed along the behaviors pipeline.

next ConsumerBehaviorHandler

The next behavior in the pipeline.

cancellationToken CancellationToken

The cancellation token that can be used to cancel the operation.

Returns

ValueTask

A Task representing the asynchronous operation.