8#ifndef DPDKLIBS_SRC_SOURCEMODEL_HPP_
9#define DPDKLIBS_SRC_SOURCEMODEL_HPP_
34template<
class TargetPayloadType>
51 void set_sink(
const std::string& sink_name,
bool callback_mode)
override
55 TLOG_DEBUG(5) <<
"Callback mode requested. Won't acquire iom sender!";
58 TLOG_DEBUG(5) <<
"SourceModel sink is already set in initialized!";
70 TLOG_DEBUG(5) <<
"SourceModel callback is already acquired!";
78 TLOG_DEBUG(5) <<
"Won't acquire callback, as IOM sink is set!";
97 for (std::size_t i = 0; i < full_payloads; ++i) {
105 TargetPayloadType payload;
110 (*m_sink_callback)(std::move(payload));
146 using sink_cb_t = std::shared_ptr<std::function<void(TargetPayloadType&&)>>;
static std::shared_ptr< DataMoveCallbackRegistry > get()
std::atomic< uint64_t > m_failed_to_send_daq_payloads
std::shared_ptr< sink_t > & get_sink()
SourceModel()
SourceModel Constructor.
std::atomic< uint64_t > m_leftover_bytes_encountered
void generate_opmon_data() override
bool m_callback_is_acquired
sink_cb_t m_sink_callback
std::shared_ptr< std::function< void(TargetPayloadType &&)> > sink_cb_t
const std::size_t m_expected_payload_size
void set_sink(const std::string &sink_name, bool callback_mode) override
void handle_payload(char *message, std::size_t size)
void acquire_callback() override
std::shared_ptr< sink_t > m_sink_queue
static constexpr timeout_t s_no_block
void publish(google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
#define TLOG_DEBUG(lvl,...)
static std::shared_ptr< iomanager::SenderConcept< Datatype > > get_iom_sender(iomanager::ConnectionId const &id)
FELIX Initialization std::string initerror FELIX queue timed std::string queuename Unexpected chunk size
void warning(const Issue &issue)