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

Drop DelegatingResilienceStrategy #1063

Merged
merged 3 commits into from
Mar 20, 2023

Conversation

martintmk
Copy link
Contributor

@martintmk martintmk commented Mar 20, 2023

The issue or feature being addressed

When writing additional tests, I realized that the DelegatingResilienceStrategy doesn't work really well when you want to share the ResilienceStrategy across different pipelines. The problem is with the mutable Next property. It also creates ambiguity when implementing a new strategy as we now have two base classes to derive from.

To fix this problem and simplify the API we are dropping DelegatingResilienceStrategy and making it an internal implementation detail that is used when we are linking multiple strategies together.

This simplifies the API surface and also removes some infra around freezing the pipelines which won't be needed anymore.

The downside is slightly slower execution; however, we should focus on clean API first.

Details on the issue fix or feature implementation

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

@martincostello martincostello added this to the v8.0.0 milestone Mar 20, 2023
@martintmk martintmk merged commit 8967949 into main Mar 20, 2023
@martincostello martincostello deleted the mtomka/drop-delegatingresiliencehandler branch March 20, 2023 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants