elsa-core/src/modules/Elsa.Caching.Distributed/Services/DistributedChangeTokenSignaler.cs
AlmightyLks 153397e63c
Fix all broken summary xml docs (#6123)
* Add proper summary tags back

* Apply suggestions from code review

Co-authored-by: Robin Sue <robinsue@live.de>

* 69 more files fixed

---------

Co-authored-by: Robin Sue <robinsue@live.de>
2024-11-18 13:41:27 +01:00

25 lines
916 B
C#

using Elsa.Caching.Distributed.Contracts;
using JetBrains.Annotations;
using Microsoft.Extensions.Primitives;
namespace Elsa.Caching.Distributed.Services;
/// <summary>
/// Decorates an <see cref="IChangeTokenSignaler"/> and publishes a signal after the signal has been triggered.
/// </summary>
[UsedImplicitly]
public class DistributedChangeTokenSignaler(IChangeTokenSignaler decoratedSignaler, IChangeTokenSignalPublisher signalPublisher, IChangeTokenSignalInvoker invoker) : IChangeTokenSignaler
{
/// <inheritdoc />
public IChangeToken GetToken(string key)
{
return decoratedSignaler.GetToken(key);
}
/// <inheritdoc />
public async ValueTask TriggerTokenAsync(string key, CancellationToken cancellationToken = default)
{
await decoratedSignaler.TriggerTokenAsync(key, cancellationToken);
await signalPublisher.PublishAsync(key, cancellationToken);
}
}