26 static constexpr auto kQUEUE_SIZE_LIMIT = 2048uz;
29 std::shared_ptr<SchedulerInterface> schedulers_;
30 std::reference_wrapper<ExtractorInterface> extractor_;
31 std::reference_wrapper<LoaderInterface> loader_;
32 std::reference_wrapper<MonitorInterface> monitor_;
35 std::atomic_uint32_t nextForwardSequence_;
37 std::vector<util::async::AnyOperation<void>> extractors_;
38 std::vector<util::async::AnyOperation<void>> loaders_;
40 std::atomic_bool running_ =
false;
46 std::shared_ptr<SchedulerInterface> scheduler,
47 std::reference_wrapper<ExtractorInterface> extractor,
48 std::reference_wrapper<LoaderInterface> loader,
49 std::reference_wrapper<MonitorInterface> monitor,
53 ~TaskManager()
override;
55 TaskManager(TaskManager
const&) =
delete;
56 TaskManager(TaskManager&&) =
delete;
58 operator=(TaskManager
const&) =
delete;
60 operator=(TaskManager&&) =
delete;
63 run(std::size_t numExtractors)
override;
A type-erased execution context.
Definition AnyExecutionContext.hpp:22