4#include <oneapi/tbb/concurrent_queue.h>
5#include <oneapi/tbb/task_group.h>
46 tbb::task_group_context tg_context_;
48 std::vector<std::unique_ptr<hgps::EventSubscriber>> handlers_;
49 tbb::concurrent_queue<std::shared_ptr<hgps::EventMessage>> info_queue_;
50 tbb::concurrent_queue<std::shared_ptr<hgps::EventMessage>> results_queue_;
53 tbb::concurrent_queue<std::shared_ptr<hgps::EventMessage>> tracking_results_queue_;
55 void info_event_handler(std::shared_ptr<hgps::EventMessage> message);
56 void error_event_handler(
const std::shared_ptr<hgps::EventMessage> &message);
57 void result_event_handler(std::shared_ptr<hgps::EventMessage> message);
59 void tracking_event_handler(std::shared_ptr<hgps::EventMessage> message);
61 void info_dispatch_thread();
62 void tracking_dispatch_thread();
Defines the event aggregator interface type.
Definition event_aggregator.h:59
Event message types visitor interface (double dispatcher)
Definition event_visitor.h:11
Defined the event monitor class used for processing Health-GPS event messages.
Definition event_monitor.h:19
void visit(const hgps::RunnerEventMessage &message) override
Visits a hgps::RunnerEventMessage message type.
Definition event_monitor.cpp:66
~EventMonitor() noexcept
Destroys a hgps::EventMonitor instance.
Definition event_monitor.cpp:47
void stop() noexcept
Stops the monitor, no new messages are processed after stop.
Definition event_monitor.cpp:55
Definition individual_id_tracking_writer.h:20
Defines the Health-GPS results message writer interface.
Definition result_writer.h:7
Top-level namespace for Health-GPS Console host application.
Definition command_options.cpp:8
Implements the simulation error event message data type.
Definition error_message.h:7
Definition individual_tracking_message.h:25
Implements the simulation information event message data type.
Definition info_message.h:19
Implements the simulation results event message data type.
Definition result_message.h:8
Implements the simulation executive event message data type.
Definition runner_message.h:25