DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType > Class Template Reference

#include <UnitTestUtilities.hpp>

Inheritance diagram for dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >:
[legend]
Collaboration diagram for dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >:
[legend]

Public Types

using Base
 
using num_post_processing_delay_max_waits_t
 
- Public Types inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
using RDT
 
using RHT
 
using LBT
 
using RPT
 
using IDT
 
using timestamp_t
 
- Public Types inherited from dunedaq::opmonlib::MonitorableObject
using NodePtr = std::weak_ptr<MonitorableObject>
 
using NewNodePtr = std::shared_ptr<MonitorableObject>
 
using ElementId = std::string
 

Public Member Functions

void test_run_postprocess_scheduler (std::shared_ptr< LatencyBufferType > latency_buffer_impl, std::shared_ptr< RawDataProcessorType > raw_processor_impl, std::unique_ptr< folly::Timekeeper > timekeeper, uint64_t post_processing_delay_max_wait)
 
num_post_processing_delay_max_waits_t get_num_post_processing_delay_max_waits ()
 
void set_run_marker (bool run_marker)
 
- Public Member Functions inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
 DataHandlingModel (std::atomic< bool > &run_marker)
 
virtual ~DataHandlingModel ()=default
 
void init (const appmodel::DataHandlerModule *modconf)
 Forward calls from the appfwk.
 
void conf (const appfwk::DAQModule::CommandData_t &args)
 
void scrap (const appfwk::DAQModule::CommandData_t &args)
 
void start (const appfwk::DAQModule::CommandData_t &args)
 
void stop (const appfwk::DAQModule::CommandData_t &args)
 
void record (const appfwk::DAQModule::CommandData_t &args) override
 
- Public Member Functions inherited from dunedaq::datahandlinglibs::DataHandlingConcept
 DataHandlingConcept ()
 
virtual ~DataHandlingConcept ()
 
 DataHandlingConcept (const DataHandlingConcept &)=delete
 DataHandlingConcept is not copy-constructible.
 
DataHandlingConceptoperator= (const DataHandlingConcept &)=delete
 DataHandlingConcept is not copy-assginable.
 
 DataHandlingConcept (DataHandlingConcept &&)=delete
 DataHandlingConcept is not move-constructible.
 
DataHandlingConceptoperator= (DataHandlingConcept &&)=delete
 DataHandlingConcept is not move-assignable.
 
- Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject
 MonitorableObject (const MonitorableObject &)=delete
 
MonitorableObjectoperator= (const MonitorableObject &)=delete
 
 MonitorableObject (MonitorableObject &&)=delete
 
MonitorableObjectoperator= (MonitorableObject &&)=delete
 
virtual ~MonitorableObject ()=default
 
auto get_opmon_id () const noexcept
 
auto get_opmon_level () const noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject
static bool publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept
 
- Public Attributes inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
std::function< void(IDT &&)> m_consume_callback
 
- Static Public Attributes inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
static constexpr timestamp_t ns
 
static constexpr timestamp_t us
 
static constexpr timestamp_t ms
 
static constexpr timestamp_t s
 
- Protected Types inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
using metric_t
 
using num_payload_t
 
using sum_payload_t
 
using num_request_t
 
using sum_request_t
 
using rawq_timeout_count_t
 
using num_lb_insert_failures_t
 
using num_post_processing_delay_max_waits_t
 
using raw_receiver_ct
 
using request_receiver_ct
 
using timesync_sender_ct
 
- Protected Member Functions inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
void process_item (RDT &&payload)
 
void transform_and_process (IDT &&payload)
 
void consume_callback (IDT &&payload)
 
void run_consume ()
 Function that will be run in its own thread to read the raw packets from the connection and add them to the LB.
 
void run_timesync ()
 Function that will be run in its own thread and sends periodic timesync messages by pushing them to the connection.
 
void run_postprocess_scheduler ()
 
folly::coro::Task< void > postprocess_schedule ()
 
void dispatch_requests (dfmessages::DataRequest &data_request)
 
virtual std::vector< RDTtransform_payload (IDT &original) const
 
virtual void invoke_postprocess_schedule_timeout_policy () const
 
virtual void generate_opmon_data () override
 
- Protected Member Functions inherited from dunedaq::opmonlib::MonitorableObject
 MonitorableObject ()=default
 
void register_node (ElementId name, NewNodePtr)
 
void publish (google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
 
- Protected Attributes inherited from dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, ReadoutType >
std::atomic< bool > & m_run_marker
 
bool m_callback_mode
 
bool m_fake_trigger
 
bool m_generate_timesync
 
int m_current_fake_trigger_id
 
daqdataformats::SourceID m_sourceid
 
daqdataformats::run_number_t m_run_number
 
uint64_t m_processing_delay_ticks
 
uint64_t m_post_processing_delay_min_wait
 
uint64_t m_post_processing_delay_max_wait
 
std::atomic< num_payload_tm_num_payloads
 
std::atomic< sum_payload_tm_sum_payloads
 
std::atomic< num_request_tm_num_requests
 
std::atomic< sum_request_tm_sum_requests
 
std::atomic< rawq_timeout_count_tm_rawq_timeout_count
 
std::atomic< num_lb_insert_failures_tm_num_lb_insert_failures
 
std::atomic< num_post_processing_delay_max_waits_tm_num_post_processing_delay_max_waits
 
std::atomic< int > m_stats_packet_count
 
utilities::ReusableThread m_consumer_thread
 
std::chrono::milliseconds m_raw_receiver_timeout_ms
 
std::chrono::microseconds m_raw_receiver_sleep_us
 
std::shared_ptr< raw_receiver_ctm_raw_data_receiver
 
std::string m_raw_data_receiver_connection_name
 
std::shared_ptr< request_receiver_ctm_data_request_receiver
 
std::shared_ptr< timesync_sender_ctm_timesync_sender
 
utilities::ReusableThread m_timesync_thread
 
std::string m_timesync_connection_name
 
utilities::ReusableThread m_postprocess_scheduler_thread
 
folly::coro::Baton m_baton
 
std::unique_ptr< folly::Timekeeper > m_timekeeper
 
std::shared_ptr< LatencyBufferType > m_latency_buffer_impl
 
std::shared_ptr< RawDataProcessorType > m_raw_processor_impl
 
std::shared_ptr< RequestHandlerType > m_request_handler_impl
 
bool m_request_handler_supports_cutoff_timestamp
 
std::unique_ptr< FrameErrorRegistrym_error_registry
 
std::chrono::time_point< std::chrono::high_resolution_clock > m_t0
 

Detailed Description

template<typename ReadoutType, typename RequestHandlerType, typename LatencyBufferType, typename RawDataProcessorType, typename InputDataType = ReadoutType>
class dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >

Definition at line 25 of file UnitTestUtilities.hpp.

Member Typedef Documentation

◆ Base

template<typename ReadoutType , typename RequestHandlerType , typename LatencyBufferType , typename RawDataProcessorType , typename InputDataType = ReadoutType>
using dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::Base

◆ num_post_processing_delay_max_waits_t

template<typename ReadoutType , typename RequestHandlerType , typename LatencyBufferType , typename RawDataProcessorType , typename InputDataType = ReadoutType>
using dunedaq::datahandlinglibs::DataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::num_post_processing_delay_max_waits_t

Definition at line 343 of file DataHandlingModel.hpp.

Member Function Documentation

◆ get_num_post_processing_delay_max_waits()

template<typename ReadoutType , typename RequestHandlerType , typename LatencyBufferType , typename RawDataProcessorType , typename InputDataType = ReadoutType>
num_post_processing_delay_max_waits_t dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::get_num_post_processing_delay_max_waits ( )
inline

◆ set_run_marker()

template<typename ReadoutType , typename RequestHandlerType , typename LatencyBufferType , typename RawDataProcessorType , typename InputDataType = ReadoutType>
void dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::set_run_marker ( bool run_marker)
inline

◆ test_run_postprocess_scheduler()

template<typename ReadoutType , typename RequestHandlerType , typename LatencyBufferType , typename RawDataProcessorType , typename InputDataType = ReadoutType>
void dunedaq::datahandlinglibs::unittest::MockDataHandlingModel< ReadoutType, RequestHandlerType, LatencyBufferType, RawDataProcessorType, InputDataType >::test_run_postprocess_scheduler ( std::shared_ptr< LatencyBufferType > latency_buffer_impl,
std::shared_ptr< RawDataProcessorType > raw_processor_impl,
std::unique_ptr< folly::Timekeeper > timekeeper,
uint64_t post_processing_delay_max_wait )
inline

Definition at line 35 of file UnitTestUtilities.hpp.


The documentation for this class was generated from the following file: