See about replacing internals with `FuturesUnordered` and `embrio::Executor`
FuturesUnordered
, when synchronized with a Mutex
should be able to replace all of the spawn queue, poll queue, task registry, and wakers provided to the tasks themselves.
embrio::Executor
covers almost all of the usecases, but has the notion of "supported/unsupported platforms" due to its waker implementation. Perhaps it can be made more generic, similar to our Wake
/Sleep
traits?
Edited by Josh Robson Chase