vmtest
vmtest copied to clipboard
async-ify codebase
vmtest is more or less a wrapper around qemu stuff. So it's almost completely I/O bound, making it a good candidate for async.
Async is particularly appealing cuz we have a bunch of threads in places where we don't want blocking semantics. And the threads are getting a bit hacky (for example most of them are never joined and implicitly require the other end of a socket to hang up for the thread to exit). Aync would let you select on multiple futures allowing for cleaner cancellation semantics.
Overall I think the codebase would be cleaner with async.