# Async Utils

A collection of traits, objects, and patterns useful for the development of async code on Fuchsia.

## Items that are appropriate for inclusion in this library:

* Higher level abstractions over futures and asynchronous primitives.
* Generalized FIDL functionality
  * Such as tools for implementing server and client side hanging get methods.
* Async-specific test helpers
* Something else you'd like to see? Submit a CL!
