[iosched] Async op completion.

Handle asynchronous completion of operations.
Ops are now maintained in streams on the issued list until completed or
released. Currently release is done on the async completion caller
context. This works but in the future completions should defer to a
completion queue which will be serviced by worker threads.
Removed retain list in streams, ops now retained in the state lists
(input, issue, others in the future).

Tests:
Added tests to test async completion of ops, mixed with synchronous
completion. Added stream test to validate it closing waits until
pipeline is drained.

Change-Id: I6df11765e05f076945b4eb5e8ee1507179dc4940
14 files changed
tree: 1a6de9359da7a71c45f12891bb0473ba6a099c40
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. peridot/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.