45 static constexpr auto kQUEUE_SIZE_LIMIT = 2048uz;
48 std::shared_ptr<SchedulerInterface> schedulers_;
49 std::reference_wrapper<ExtractorInterface> extractor_;
50 std::reference_wrapper<LoaderInterface> loader_;
51 std::reference_wrapper<MonitorInterface> monitor_;
54 std::atomic_uint32_t nextForwardSequence_;
56 std::vector<util::async::AnyOperation<void>> extractors_;
57 std::vector<util::async::AnyOperation<void>> loaders_;
59 std::atomic_bool running_ =
false;
65 std::shared_ptr<SchedulerInterface> scheduler,
66 std::reference_wrapper<ExtractorInterface> extractor,
67 std::reference_wrapper<LoaderInterface> loader,
68 std::reference_wrapper<MonitorInterface> monitor,
72 ~TaskManager()
override;
74 TaskManager(TaskManager
const&) =
delete;
75 TaskManager(TaskManager&&) =
delete;
77 operator=(TaskManager
const&) =
delete;
79 operator=(TaskManager&&) =
delete;
82 run(std::size_t numExtractors)
override;
A type-erased execution context.
Definition AnyExecutionContext.hpp:41