12#ifndef RTCTK_RTRSERVER_EVENTHANDLING_HPP
13#define RTCTK_RTRSERVER_EVENTHANDLING_HPP
17#include <condition_variable>
20#include <nlohmann/json.hpp>
38 std::optional<Event>
Pend(std::chrono::milliseconds timeout);
44 std::condition_variable m_cv;
45 std::queue<Event> m_queue;
60 std::string m_topic_name;
62 std::atomic<bool> m_stop;
~EventPublisher()
Definition eventHandling.cpp:72
EventPublisher(const std::string &topic, EventQueue &queue)
Definition eventHandling.cpp:67
Definition eventHandling.hpp:35
std::optional< Event > Pend(std::chrono::milliseconds timeout)
Definition eventHandling.cpp:56
void Post(const Event &data)
Definition eventHandling.cpp:48
nlohmann::json Event
Definition eventHandling.hpp:27
Event MakeDeleteEvent(const std::string &datapoint)
Definition eventHandling.cpp:41
Event MakeWriteEvent(const std::set< std::string > &datapoints, uint64_t sequence_id, uint64_t timestamp)
Definition eventHandling.cpp:23
Event MakeCreateEvent(const std::string &datapoint)
Definition eventHandling.cpp:34