It would be nice to abstract some of the client handling to not be runtime dependent, as I have a project that would greatly benefit from something like this. However, it already uses a different async runtime so I do not really want to have to run multiple runtimes just to have things work.
From what I can see, we could probably swap out usage of select! for something like futures-concurrency, which provides different approach to doing select code without the use of macros (and is runtime agnostic). Everything else will probably need abstractions to wrap around the runtimes, similar to how hyper approached this. You could do a default impl of tokio, but then leave it to others to implement the traits for their runtimes. Else, if not on the cards, I will have to yak shave something xD
It would be nice to abstract some of the client handling to not be runtime dependent, as I have a project that would greatly benefit from something like this. However, it already uses a different async runtime so I do not really want to have to run multiple runtimes just to have things work.
From what I can see, we could probably swap out usage of
select!for something likefutures-concurrency, which provides different approach to doing select code without the use of macros (and is runtime agnostic). Everything else will probably need abstractions to wrap around the runtimes, similar to howhyperapproached this. You could do a default impl oftokio, but then leave it to others to implement the traits for their runtimes. Else, if not on the cards, I will have to yak shave something xD