# Worker.hpp
This File On Github
Ask A Question
API: latest
module: oatpp
#include "oatpp/core/async/worker/Worker.hpp"
# Worker
Worker base class. Workers are used by oatpp::async::Executor to reschedule worker-specific tasks from oatpp::async::Processor.
namespace oatpp { namespace async { namespace worker {
class Worker {}
}}}
# Methods
Return Type | Name | Summary |
---|---|---|
[none] | Worker | Constructor. |
[none] | ~Worker | Default virtual destructor. |
void | pushTasks | Push list of tasks to worker. |
void | pushOneTask | Push one task to worker. |
void | stop | Break run loop. |
void | join | Join all worker-threads. |
void | detach | Detach all worker-threads. |
Type | getType | Get worker type. |
# Worker::Worker
Constructor.
- @param type - worker type - one of Worker::Type values.
Worker(Type type)
# Worker::~Worker
Default virtual destructor.
virtual ~Worker() = default
# Worker::pushTasks
Push list of tasks to worker.
- @param tasks - oatpp::async::utils::FastQueue of oatpp::async::CoroutineHandle.
virtual void pushTasks(utils::FastQueue<CoroutineHandle>& tasks) = 0
# Worker::pushOneTask
Push one task to worker.
- @param task - oatpp::async::CoroutineHandle.
virtual void pushOneTask(CoroutineHandle* task) = 0
# Worker::stop
Break run loop.
virtual void stop() = 0
# Worker::join
Join all worker-threads.
virtual void join() = 0
# Worker::detach
Detach all worker-threads.
virtual void detach() = 0
# Worker::getType
Get worker type.
- @return - one of Worker::Type values.
Type getType()
# Worker::Type
Worker type
namespace oatpp { namespace async { namespace worker {
class Worker {}
}}}
# Worker::Type::PROCESSOR
Worker type - general processor.
PROCESSOR = 0
# Worker::Type::TIMER
Worker type - timer processor.
TIMER = 1
# Worker::Type::IO
Worker type - I/O processor.
IO = 2
# Worker::Type::TYPES_COUNT
Number of types in this enum.
TYPES_COUNT = 3