Design considerations around async executors
Hey there,
Back on GitHub you had mentioned Zbus was getting closer to an API freeze. This may be a bit late to bring it up, but what considerations were made when designing the async internals of zbus
in 2.0? Namely, what influenced bringing in the entire smol-rs
ecosystem? This ends up in quite a few extra dependencies (and another whole runtime executor) for projects using Tokio.
The only related things I have seen are this MR and this MR comment. The goal seems to be allowing users to run futures on their own runtimes, but done dynamically instead of at compile time.
Was the approach closer to what SQLx does with compile-time features to change the executor used not considered for complexity reasons, or something else?
Thanks for the consideration.