|
libcaf
0.16.3
|
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::abstract_broker, caf::scheduled_actor, and caf::io::network::multiplexer::runnable.
1.8.16