13#ifndef RTCTK_RTRSERVER_EVENTHANDLING_HPP
14#define RTCTK_RTRSERVER_EVENTHANDLING_HPP
18#include <condition_variable>
21#include <nlohmann/json.hpp>
39 std::optional<Event>
Pend(std::chrono::milliseconds timeout);
45 std::condition_variable m_cv;
46 std::queue<Event> m_queue;
61 std::string m_topic_name;
63 std::atomic<bool> m_stop;
Definition eventHandling.hpp:51
~EventPublisher()
Definition eventHandling.cpp:73
EventPublisher(const std::string &topic, EventQueue &queue)
Definition eventHandling.cpp:68
Definition eventHandling.hpp:36
std::optional< Event > Pend(std::chrono::milliseconds timeout)
Definition eventHandling.cpp:57
void Post(const Event &data)
Definition eventHandling.cpp:49
nlohmann::json Event
Definition eventHandling.hpp:28
Event MakeDeleteEvent(const std::string &datapoint)
Definition eventHandling.cpp:42
Event MakeWriteEvent(const std::set< std::string > &datapoints, uint64_t sequence_id, uint64_t timestamp)
Definition eventHandling.cpp:24
Event MakeCreateEvent(const std::string &datapoint)
Definition eventHandling.cpp:35