C++ Actor Framework
0.18
|
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 . More... | |
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. More... | |
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.
Denotes the state in which a resumable
returned from its last call to resume
.
|
pure virtual |
Resume any pending computation until it is either finished or needs to be re-scheduled later.
Implemented in caf::scheduled_actor, caf::io::abstract_broker, caf::io::basp_broker, and caf::io::basp::worker.
|
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::abstract_broker, caf::scheduled_actor, and caf::io::network::multiplexer::runnable.