CAF
0.17.6
|
A cooperatively executed task managed by one or more instances of execution_unit
.
More...
#include <resumable.hpp>
Public Types | |
enum | resume_result { resume_later, awaiting_message, done, shutdown_execution_unit } |
Denotes the state in which a resumable returned from its last call to resume . | |
enum | subtype_t { unspecified, scheduled_actor, io_actor, function_object } |
Denotes common subtypes of resumable . More... | |
Public Member Functions | |
virtual subtype_t | subtype () const |
Returns a subtype hint for this object. More... | |
virtual resume_result | resume (execution_unit *, size_t max_throughput)=0 |
Resume any pending computation until it is either finished or needs to be re-scheduled later. | |
virtual void | intrusive_ptr_add_ref_impl ()=0 |
Add a strong reference count to this object. | |
virtual void | intrusive_ptr_release_impl ()=0 |
Remove a strong reference count from this object. | |
A cooperatively executed task managed by one or more instances of execution_unit
.
Note that this class is meant as mixin for reference counted object, i.e., the subclass is required to inherit from ref_counted
at some point.
|
virtual |
Returns a subtype hint for this object.
This allows an execution unit to limit processing to a specific set of resumables and delegate other subtypes to dedicated workers.
Reimplemented in caf::io::network::multiplexer::runnable, caf::io::abstract_broker, and caf::scheduled_actor.