Support stack allocated worker tasks for fastboot
Introduces an API `run_gbl_fastboot_stack()` that uses stack allocated
worker tasks for processing async IOs such as disk flashing. This allows
callers without heap allocation to also benefit from GBL's async
fastboot feature such as parallel download/flash.
Reworks the trait `TaskExecutor` into trait `PinFutContainer` that only
asks caller to implement a container for storing pinned futures. The
polling and scheduling logic now fully lives inside libgbl and doesn't
need to be concerned by the caller.
Bug: 373461015
Change-Id: I3f254aedd53d26ee0ad12c71bd6fbf1df78a19b2
4 files changed