# 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.

Worker(Type type)

# Worker::~Worker

Default virtual destructor.

virtual ~Worker() = default

# Worker::pushTasks

Push list of tasks to worker.

virtual void pushTasks(utils::FastQueue<CoroutineHandle>& tasks) = 0

# Worker::pushOneTask

Push one task to worker.

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.

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