rust-firecracker/fctools

Investigate decoupling from tokio

Closed this issue · 2 comments

Instead of the costly FS backend abstraction that doesn't seem to be bringing much of a benefit due to tokio-uring being de facto abandoned, it could be worthwhile to introduce a Runtime trait that would have:

  • Filesystem functionality
  • Timers (for timeouts)
  • Join set (!!, most used currently from tokio)

For everything else, it'd make sense to use agnostic crates outside of tokio, for example crossbeam-channel or async-channel for mpsc in the metrics extension.

Main priority for 0.6! Would also entail a ton of breaking changes, naturally

Massive refactor/churn/rewrite number 5 or 6 for fctools that breaks everything, which is mainly why I'm planning to keep 0.x for quite a while still.

Doing this just proves once again how much of an absolute unmitigated disaster the async rust executor situation is, honestly...