7#ifndef HSILIBS_INCLUDE_HSILIBS_HSIEVENTSENDER_HPP_
8#define HSILIBS_INCLUDE_HSILIBS_HSIEVENTSENDER_HPP_
47 void init(std::shared_ptr<appfwk::ConfigurationManager> mcfg)
override;
52 virtual void do_start(
const nlohmann::json& obj) = 0;
53 virtual void do_stop(
const nlohmann::json& obj) = 0;
54 virtual void do_scrap(
const nlohmann::json& obj) = 0;
66 virtual bool ready_to_send(std::chrono::milliseconds timeout);
HSIEventSender provides an interface to process and and send HSIEvents.
HSIEventSender(const std::string &name)
HSIEventSender Constructor.
virtual void do_stop(const nlohmann::json &obj)=0
HSIEventSender & operator=(HSIEventSender &&)=delete
HSIEventSender is not move-assignable.
virtual void do_scrap(const nlohmann::json &obj)=0
virtual void send_hsi_event(dfmessages::HSIEvent &event)
HSIEventSender & operator=(const HSIEventSender &)=delete
HSIEventSender is not copy-assignable.
HSIEventSender(const HSIEventSender &)=delete
HSIEventSender is not copy-constructible.
virtual void do_configure(const nlohmann::json &obj)=0
virtual void send_raw_hsi_data(const std::array< uint32_t, 7 > &raw_data, raw_sender_ct *sender)
std::atomic< uint64_t > m_last_sent_timestamp
void init(std::shared_ptr< appfwk::ConfigurationManager > mcfg) override
std::string m_hsievent_send_connection
std::atomic< uint64_t > m_failed_to_send_counter
std::atomic< uint64_t > m_sent_counter
std::shared_ptr< hsievent_sender_ct > m_hsievent_sender
std::chrono::milliseconds m_queue_timeout
virtual bool ready_to_send(std::chrono::milliseconds timeout)
HSIEventSender(HSIEventSender &&)=delete
HSIEventSender is not move-constructible.
virtual void do_start(const nlohmann::json &obj)=0
A message used to convey an HSI event.