8#ifndef DATAHANDLINGLIBS_SRC_SOURCEMODEL_HPP_
9#define DATAHANDLINGLIBS_SRC_SOURCEMODEL_HPP_
32template<
class PayloadType>
47 throw datahandlinglibs::InitializationError(
ERS_HERE,
"Only 1 output supported for subscribers");
52 throw datahandlinglibs::InitializationError(
ERS_HERE,
"Only 1 input supported for subscribers");
80 info.set_num_packets(
m_packets.exchange(0));
const std::vector< const dunedaq::confmodel::Connection * > & get_inputs() const
Get "inputs" relationship value. List of connections to/from this module.
const std::vector< const dunedaq::confmodel::Connection * > & get_outputs() const
Get "outputs" relationship value. Output connections from this module.
void init(const confmodel::DaqModule *cfg) override
virtual void generate_opmon_data() override
std::atomic< uint64_t > m_sum_packets
std::atomic< uint64_t > m_dropped_packets
std::atomic< uint64_t > m_packets
std::shared_ptr< source_t > m_data_receiver
std::shared_ptr< sink_t > m_data_sender
bool handle_payload(PayloadType &message)
DataSubscriberModel()
SourceModel Constructor.
static constexpr timeout_t s_no_block
void publish(google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
static std::shared_ptr< iomanager::SenderConcept< Datatype > > get_iom_sender(iomanager::ConnectionId const &id)
static std::shared_ptr< iomanager::ReceiverConcept< Datatype > > get_iom_receiver(iomanager::ConnectionId const &id)