Skip to content

Update Cleipnir.ResilientFunctions submodule and adapt to API changes#4

Merged
stidsborg merged 3 commits intomainfrom
update-resilient-functions-submodule
Apr 26, 2026
Merged

Update Cleipnir.ResilientFunctions submodule and adapt to API changes#4
stidsborg merged 3 commits intomainfrom
update-resilient-functions-submodule

Conversation

@stidsborg
Copy link
Copy Markdown
Owner

Summary

  • Bump Cleipnir.ResilientFunctions submodule 34b24b25ee98fba9 (~40 commits, including breaking API changes).
  • Adapt parent code in Cleipnir/, Cleipnir.Tests/, and Samples/ to the new surface.
  • Net: 16 insertions / 136 deletions across 10 files.

Upstream removals handled

  • Correlations subsystem (#137): removed Workflow.RegisterCorrelation, Postman.RouteMessage, *Registration.RouteMessage, ICorrelationStore.
  • Utilities/Register subsystem (#135): removed Utilities record and IRegister.
  • DistributedSemaphores (#133): removed Workflow.Synchronization.AcquireLock, DistributedSemaphore.Lock, ISemaphoreStore.
  • Workflow.Message (#122): maxWait parameter removed across all overloads.

Code changes

  • Cleipnir/Flow.cs: drop Utilities proxy property; rewrite the six Message<T>(...) overloads without maxWait.
  • Cleipnir/Flows.cs: remove RouteMessage<T> from IBaseFlows / BaseFlows<TFlow> and the three concrete overrides.
  • Cleipnir.Tests/Flows/CorrelationIdFlowTests.cs: deleted — entire test exercises removed APIs.
  • Samples/.../MessageDriven/Other/PostmanExtensions.cs: deleted — unused helper that reflected over removed Postman.RouteMessage.
  • Sample flow fixes:
    • SignupFlow.cs, NewsletterParentFlow.cs: Message<T>(maxWait:)Message<T>(waitFor:).
    • Three BankTransfer samples: removed Workflow.Synchronization.AcquireLock(...) / DistributedSemaphore.Lock (subsystem deleted upstream).

Test plan

  • dotnet build Cleipnir.NET.sln — clean (0 warnings, 0 errors).
  • dotnet test Cleipnir.Tests — 25/25 passed.
  • Cleipnir.Tests.AspNet and ServiceBuses/*.Tests — compile, but require docker-compose-managed SQL Server / MariaDB / Postgres / Kafka / RabbitMQ; not run locally.

🤖 Generated with Claude Code

stidsborg and others added 3 commits April 26, 2026 11:55
Submodule advanced 34b24b25 -> ee98fba9. Upstream removed the
Correlations, Utilities/Register, and DistributedSemaphores subsystems,
dropped the maxWait parameter from Workflow.Message, and reworked the
suspend/interrupt lifecycle. Adapt dependent code accordingly:

- Flow.cs: drop Utilities proxy and maxWait parameter from Message overloads
- Flows.cs: remove RouteMessage from IBaseFlows/BaseFlows and overrides
- Delete CorrelationIdFlowTests (relied on removed RegisterCorrelation/RouteMessage)
- Delete unused PostmanExtensions (reflected over removed Postman.RouteMessage)
- Samples: replace Message<T>(maxWait:) with waitFor:, drop Synchronization.AcquireLock calls

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
TransferFlow1 demonstrated the distributed-lock variant of the bank
transfer; with DistributedSemaphores removed upstream, its body became
identical to TransferFlow0. Drop the duplicate so the presentation does
not imply two distinct solutions exist.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Will be re-added later once a fitting illustration of the post-lock-removal
API has been worked out.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stidsborg stidsborg merged commit f2eeff1 into main Apr 26, 2026
1 check passed
@stidsborg stidsborg deleted the update-resilient-functions-submodule branch April 26, 2026 10:03
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.

1 participant