Skip to content

Conversation

@martintmk
Copy link
Contributor

@martintmk martintmk commented Jul 4, 2023

Details on the issue fix or feature implementation

Bunch of API improvements for working with ResilienceStrategyRegistry

  • Adding GetOrAddStrategy method for non-generic and generic strategies.
  • Adding AddResilienceStrategy<TKey> extension that adds all the necessary infra without requiring to configuring any strategy.
  • Allowing to enable reloads when using the registry directly.

Api Usage:

var registry = new ResilienceStrategyRegistry<string>();
IOptionsMonitor<MyOptions> monitor = ... ;

ResilienceStrategy strategy = registry.GetOrAddStrategy("my-strategy", (builder, context) =>
{
    context.EnableReloads(monitor);
    builder.AddTimeout(monitor.CurrentValue.Timeout);
});

Contributes to #1365

Confirm the following

  • I started this PR by branching from the head of the default branch
  • I have targeted the PR to merge into the default branch
  • I have included unit tests for the issue/feature
  • I have successfully run a local build

@martintmk martintmk added the v8 Issues related to the new version 8 of the Polly library. label Jul 4, 2023
@martintmk martintmk added this to the v8.0.0 milestone Jul 4, 2023
@codecov
Copy link

codecov bot commented Jul 4, 2023

Codecov Report

Merging #1388 (b936db2) into main (20598ad) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1388      +/-   ##
==========================================
+ Coverage   83.68%   83.72%   +0.03%     
==========================================
  Files         269      270       +1     
  Lines        6431     6445      +14     
  Branches     1004     1005       +1     
==========================================
+ Hits         5382     5396      +14     
  Misses        840      840              
  Partials      209      209              
Flag Coverage Δ
linux ?
macos 83.72% <100.00%> (+0.03%) ⬆️
windows 83.72% <100.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ore/Registry/ResilienceStrategyRegistry.TResult.cs 100.00% <100.00%> (ø)
.../Polly.Core/Registry/ResilienceStrategyRegistry.cs 100.00% <100.00%> (ø)
...ependencyInjection/AddResilienceStrategyContext.cs 100.00% <100.00%> (ø)
...dencyInjection/PollyServiceCollectionExtensions.cs 100.00% <100.00%> (ø)
...ions/Registry/ConfigureBuilderContextExtensions.cs 100.00% <100.00%> (ø)

@martintmk martintmk enabled auto-merge (squash) July 4, 2023 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v8 Issues related to the new version 8 of the Polly library.

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants