Provides coroutines using the trait
Coroutines use a separate, special stack.
Implement this trait and then call
Coroutine::start_coroutine(), passing in start arguments and a source of memory for the stack and heap.
Coroutines can use a switchable allocator, providing a straightforward way to restrict the amount of dynamic memory they can access and to ensure they only use thread-local memory.
For a simple coroutine, use the stack
This crate was originally a simple set of extensions to the context crate to provide stackful coroutines. The developers are not associated with the authors of context but are extremely grateful for the work they've put into to a superb piece of code.
The license for this project is MIT.
Context; derived from
This design does not use a guard page (via
Holds a stack and a type-safe transfer of a started coroutine; suitable for the ultimate owner of a coroutine.
A simple structure to make it easy to 'yield' from a coroutine.
Outcome of a coroutine's resumption.
Outcome of a coroutine's start.
A trait that stackful coroutines should implement.