Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ResilienceStrategyRegistry API improvements #1388

Merged
merged 4 commits into from
Jul 4, 2023

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
@martintmk martintmk merged commit 66c5af2 into main Jul 4, 2023
12 checks passed
@martintmk martintmk deleted the mtomka/registry-improvements branch July 4, 2023 14:07
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.

None yet

2 participants