Introduce abstractions over Reactor API #24530
Labels
Azure.Core.V2
Contains issues to consider when desiging Azure Core V2
Azure.Core
azure-core
breaking-change
Client
This issue points to a problem in the data-plane of the library.
compat breaks
Projects
We might consider abstracting away Mono / Flux types with our own types. The premise of this being that if we control an abstraction, we might be able to shelter users from breaking changes in the Reactor APIs. We could conceivably even change implementations of our async implementation without impacting the user.
The downside of this is obviously the amount of work required to build our own APIs, and to ensure that these APIs can work over multiple implementations (e.g. Reactor3, Reactor4, RxJava (as a proof of concept more than anything), CompletableFuture, Virtual Threads, etc).
If we did consider investigating this further, we could extend this investigation by looking into removing reactor from azure-core, and to introduce a pluggable mechanism in much the same way as we do HTTP clients, etc today.
The text was updated successfully, but these errors were encountered: