28 , m_hsievent_send_connection(
"")
30 , m_hsievent_sender(nullptr)
32 , m_failed_to_send_counter(0)
33 , m_last_sent_timestamp(0)
43 throw appfwk::CommandFailed(
ERS_HERE,
"init", get_name(),
"Unable to retrieve configuration object");
46 for (
auto con : mdal->get_outputs()) {
68 <<
event.header <<
", " << std::bitset<32>(event.
signal_map) <<
", " <<
event.timestamp <<
", "
69 <<
event.sequence_counter <<
"\n";
71 bool was_successfully_sent =
false;
72 while (!was_successfully_sent) {
78 was_successfully_sent =
true;
79 }
catch (
const dunedaq::iomanager::TimeoutExpired& excpt) {
80 std::ostringstream oss_warn;
96 TLOG_DEBUG(3) << get_name() <<
": Sending HSI_FRAME_STRUCT " << std::hex <<
"0x" << payload.frame.version <<
", 0x"
97 << payload.frame.detector_id
99 <<
"; 0x" << payload.frame.timestamp_low <<
"; 0x" << payload.frame.timestamp_high <<
"; 0x"
100 << payload.frame.input_low <<
"; 0x" << payload.frame.input_high <<
"; 0x" << payload.frame.trigger
101 <<
"; 0x" << payload.frame.sequence << std::endl;
106 throw(QueueIsNullFatalError(
ERS_HERE, get_name(),
"HSIEventSender output"));
109 }
catch (
const dunedaq::iomanager::TimeoutExpired& excpt) {
110 std::ostringstream oss_warn;
111 oss_warn <<
"push to output raw hsi data queue failed";
HSIEventSender(const std::string &name)
HSIEventSender Constructor.
virtual void send_hsi_event(dfmessages::HSIEvent &event)
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)
virtual void send(Datatype &&data, Sender::timeout_t timeout)=0
#define TLOG_DEBUG(lvl,...)
static std::shared_ptr< iomanager::SenderConcept< Datatype > > get_iom_sender(iomanager::ConnectionId const &id)
Unknown serialization Cannot deserialize std::string datatype_to_string()
void error(const Issue &issue)
A message used to convey an HSI event.
daqdataformats::timestamp_t timestamp
Timestamp of HSI event.
uint32_t signal_map
Bit map of signals. 1 bit, 1 signal // NOLINT(build/unsigned)