https://github.com/vorner/corona
Coroutine and async/await support for tokio-based futures
https://github.com/vorner/corona
Last synced: 4 months ago
JSON representation
Coroutine and async/await support for tokio-based futures
- Host: GitHub
- URL: https://github.com/vorner/corona
- Owner: vorner
- License: apache-2.0
- Created: 2017-05-31T18:21:48.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-07T19:49:21.000Z (over 6 years ago)
- Last Synced: 2025-10-28T00:31:45.126Z (8 months ago)
- Language: Rust
- Homepage:
- Size: 334 KB
- Stars: 120
- Watchers: 3
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Corona
## Deprecated
This library supports tokio 0.1, which is outdated. There's not much need for it
any more since Rust supports native async/await syntax. Use some of the async
libraries directly.
## About the library
[](https://travis-ci.org/vorner/corona)
[](https://ci.appveyor.com/project/vorner/corona/branch/master)
When you need to get the asynchronous out of the way.
Corona is a library providing stackful coroutines for Rust. They integrate well
with futures ‒ it is possible to switch between the abstractions as needed, each
coroutine is also a future and a coroutine can wait for a future to complete.
Furthermore, the futures don't have to be `'static`.
On the other hand, there's a runtime cost to the library. The performance does
not necessarily suffer (as seen in the
[benchmarks](https://vorner.github.io/async-bench.html)). But each coroutine has
its own stack, which takes memory.
You want to read the [docs](https://docs.rs/corona) and examine the
[examples](https://github.com/vorner/corona/tree/master/examples).
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms
or conditions.