5#ifndef SKYWAY_GLOBAL_WORKER_HPP_
6#define SKYWAY_GLOBAL_WORKER_HPP_
11#include <condition_variable>
13#include "skyway/global/interface/worker.hpp"
19class Worker :
public interface::Worker {
21 using Task = std::function<void()>;
32 Worker(
const std::string& name);
39 void AddTask(Task& task)
override;
40 void AddTask(
const Task&& task)
override;
44 void ProcessWorker(
const std::string& name);
45 int SetThreadName(
const std::string& name);
46 std::deque<Task> tasks_;
48 std::condition_variable cv_;
49 bool is_termination_requested_ =
false;