Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
build fixes
  • Loading branch information
martintmk committed Jun 30, 2023
commit c2bdb7af0367453b3d3f6efaae839c6968507001
14 changes: 5 additions & 9 deletions src/Polly.Extensions/Utils/OptionsReloadHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

namespace Polly.Extensions.Utils;

internal sealed class OptionsReloadHelper<T> : IDisposable
#pragma warning disable CA1001 // we can get away of not disposing this class because it's active for a lifetime of app
#pragma warning disable S2931

internal sealed class OptionsReloadHelper<T>
{
private readonly IDisposable? _listener;
private CancellationTokenSource _cancellation = new();

public OptionsReloadHelper(IOptionsMonitor<T> monitor, string name) => _listener = monitor.OnChange((_, changedNamed) =>
public OptionsReloadHelper(IOptionsMonitor<T> monitor, string name) => monitor.OnChange((_, changedNamed) =>
{
if (name == changedNamed)
{
Expand All @@ -17,12 +19,6 @@ public OptionsReloadHelper(IOptionsMonitor<T> monitor, string name) => _listener

public CancellationToken GetCancellationToken() => _cancellation.Token;

public void Dispose()
{
_cancellation.Dispose();
_listener?.Dispose();
}

private void HandleChange()
{
var oldCancellation = _cancellation;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public void Ctor_NamedOptions()
.Setup(m => m.OnChange(It.IsAny<Action<string, string?>>()))
.Returns(() => Mock.Of<IDisposable>());

using var helper = new OptionsReloadHelper<string>(monitor.Object, "name");
var helper = new OptionsReloadHelper<string>(monitor.Object, "name");

monitor.VerifyAll();
}
Expand Down