commit | 7c66cbd279304686afc34372c223a5dd8ad94395 | [log] [tgz] |
---|---|---|
author | Yaneury Fermin <yaneury@google.com> | Mon Jul 27 19:06:58 2020 +0000 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Mon Jul 27 19:06:58 2020 +0000 |
tree | 0d7096e29513556835c949ac5857956177d80b5c | |
parent | 77dacb00187497d10d17fcffa91aa6027cfa5b3a [diff] |
[rust][fasync] Prepare for the removal of fasync::spawn* TLDR: fasync::spawn functions are going away in preference of the new Task::spawn API's. This CL prepares the way by replacing usage of the old API's with usage of the new one. We're deprecating and replacing the old spawn functions (spawn, spawn_local, spawn_blocking) and replacing them with an API centered around Task objects. Tasks own the execution of the underlying future, and if dropped will cancel that execution. To regain the old, unowned execution that spawn API's offered a detach method is offered. This change series sweeps through the codebase and replaces spawn() with Task::spawn().detach() and spawn_local() with Task::local().detach() in preparation for the removal of the original API's. It's hoped that code maintainers will then take the opportunity (when it makes sense for them to do so) to move to a model where Tasks are not detached but owned for as long as they need to be running. Change-Id: I4324e0217458bbda1e7d15f047e4318ed921c55e Reviewed-on: https://fuchsia-review.googlesource.com/c/experiences/+/410756 Reviewed-by: Chase Latta <chaselatta@google.com> Testability-Review: Chase Latta <chaselatta@google.com> Commit-Queue: Yaneury Fermin <yaneury@google.com>
This is a companion repository to Fuchsia and contains code that either implements or supports user facing code for the Fuchsia platform. The code provides a majority of the user interface for the Workstation product as well as a small set of examples, tests, and benchmarks.
This repository is a “source petal” included in the Fuchsia Platform Source Tree (FPST) checkout. Code in this repository must be built with Fuchsia in order to be functional, see (the guide)[https://fuchsia.dev/fuchsia-src/development/source_code] for instructions on getting the source.
Hardware support should be considered experimental. However, NUC's and Pixelbooks are known to work best. For details on hardware setup see: (Install Fuchsia on a Device)[https://fuchsia.dev/fuchsia-src/development/hardware/paving]
Once you have functional checkout you can (configure a build)[https://fuchsia.dev/fuchsia-src/development/build/fx#configure-a-build] targeting Workstation:
fx set workstation.<board> # For options run: `fx list-boards` fx build
See Fuchsia's (build and pave instructions)[https://fuchsia.dev/fuchsia-src/development/build/build_and_pave_quickstart] for detailed instructions.
Once built, standard Fuchsia workflows for paving, running code, and testing apply. See: (fx workflows)[https://fuchsia.dev/fuchsia-src/development/build/fx] for detailed instructions.