Table of Contents

Class ResilientDaprPublisher

Namespace
Virtufin.WorkManager.Services
Assembly
Virtufin.WorkManager.dll

Buffers outbound pub/sub messages during Dapr outages and flushes on reconnect.

public sealed class ResilientDaprPublisher : IAsyncDisposable
Inheritance
ResilientDaprPublisher
Implements
Inherited Members

Constructors

ResilientDaprPublisher(DaprClient, DaprResiliencePipeline, ILogger<ResilientDaprPublisher>, string, int)

Creates a new ResilientDaprPublisher.

public ResilientDaprPublisher(DaprClient daprClient, DaprResiliencePipeline resilience, ILogger<ResilientDaprPublisher> logger, string pubsubName, int maxBufferSize = 1000)

Parameters

daprClient DaprClient
resilience DaprResiliencePipeline
logger ILogger<ResilientDaprPublisher>
pubsubName string
maxBufferSize int

Methods

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

public ValueTask DisposeAsync()

Returns

ValueTask

A task that represents the asynchronous dispose operation.

PublishAsync(string, ReadOnlyMemory<byte>, string, Dictionary<string, string>, CancellationToken)

Publishes an event with resilience. If the circuit is broken, buffers the message.

public Task PublishAsync(string topic, ReadOnlyMemory<byte> data, string contentType, Dictionary<string, string> metadata, CancellationToken cancellationToken)

Parameters

topic string
data ReadOnlyMemory<byte>
contentType string
metadata Dictionary<string, string>
cancellationToken CancellationToken

Returns

Task