[−][src]Crate context_coroutine
#context-coroutine
Provides coroutines using the trait Coroutine
.
Coroutines use a separate, special stack.
Implement this trait and then call Coroutine::start_coroutine()
, passing in start arguments and a stack.
For a simple coroutine, use the stack stacks::ProtectedStack
.
The module context
provides lower-level logic to use as a building block for things other than coroutines, for example, fibres.
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.
Modules
context | Context; derived from |
stacks | Stack implementations. |
Structs
StartedCoroutineInstance | Holds a stack and a type-safe transfer of a started coroutine; suitable for the ultimate owner of a coroutine. |
Yielder | A simple structure to make it easy to 'yield' from a coroutine. |
Enums
ResumeOutcome | Outcome of a coroutine's resumption. |
StartOutcome | Outcome of a coroutine's start. |
Traits
Coroutine | A trait that stackful coroutines should implement. |