8#ifndef snbmodules_INCLUDE_snbmodules_MODELS_FileSourceModel_HPP_
9#define snbmodules_INCLUDE_snbmodules_MODELS_FileSourceModel_HPP_
42template<
class ReadoutType>
61 void scrap(
const appfwk::DAQModule::CommandData_t& )
71 void start(
const appfwk::DAQModule::CommandData_t& );
72 void stop(
const appfwk::DAQModule::CommandData_t& );
116 std::unique_ptr<dunedaq::datahandlinglibs::BufferedFileReader<ReadoutType>>
m_file_reader;
daqdataformats::SourceID m_sourceid
void stop(const appfwk::DAQModule::CommandData_t &)
FileSourceModel(std::string name, std::atomic< bool > &run_marker, double rate_khz)
std::unique_ptr< dunedaq::datahandlinglibs::RateLimiter > m_rate_limiter
std::chrono::milliseconds m_raw_sender_timeout_ms
void set_sender(const std::string &conn_name)
std::shared_ptr< raw_sender_ct > m_raw_data_sender
std::atomic< int > m_packet_count
virtual void generate_opmon_data() override
void conf(const confmodel::DetectorStream *stream_conf, const appmodel::SNBFileSourceParameters *file_params)
std::atomic< int > m_packet_count_tot
std::unique_ptr< dunedaq::datahandlinglibs::BufferedFileReader< ReadoutType > > m_file_reader
utilities::ReusableThread m_producer_thread
void scrap(const appfwk::DAQModule::CommandData_t &)
std::atomic< bool > & m_run_marker
uint32_t m_input_buffer_size
std::vector< std::string > m_file_names
bool is_configured() override
std::vector< std::string >::const_iterator m_file_iterator
std::string m_compression_algorithm
void start(const appfwk::DAQModule::CommandData_t &)
std::atomic< bool > run_marker
Global atomic for process lifetime.