C++ Actor Framework 1.0.0
|
A cooperatively scheduled entity. 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 noexcept |
Returns a subtype hint for this object. | |
virtual resume_result | resume (scheduler *, size_t max_throughput)=0 |
Resume any pending computation until it is either finished or needs to be re-scheduled later. | |
virtual void | ref_resumable () const noexcept=0 |
Add a strong reference count to this object. | |
virtual void | deref_resumable () const noexcept=0 |
Remove a strong reference count from this object. | |
A cooperatively scheduled entity.
|
pure virtualnoexcept |
Remove a strong reference count from this object.
Implemented in caf::action::impl, and caf::io::network::multiplexer::runnable.
|
pure virtualnoexcept |
Add a strong reference count to this object.
Implemented in caf::action::impl, and caf::io::network::multiplexer::runnable.
|
pure virtual |
Resume any pending computation until it is either finished or needs to be re-scheduled later.
Implemented in caf::detail::monitor_action< F >, and caf::io::basp::worker.
|
virtualnoexcept |
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::action::impl, and caf::io::network::multiplexer::runnable.