DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::listrev::ListCreator Class Reference

#include <ListCreator.hpp>

Public Member Functions

 ListCreator ()=default
 
 ListCreator (std::string conn, std::chrono::milliseconds tmo, size_t min_list_size, size_t max_list_size)
 
void send_create (int id)
 

Private Attributes

std::mt19937 m_random_generator
 
std::uniform_int_distribution m_size_dist
 
std::string m_create_connection
 
std::chrono::milliseconds m_send_timeout
 

Detailed Description

Definition at line 21 of file ListCreator.hpp.

Constructor & Destructor Documentation

◆ ListCreator() [1/2]

dunedaq::listrev::ListCreator::ListCreator ( )
default

◆ ListCreator() [2/2]

dunedaq::listrev::ListCreator::ListCreator ( std::string conn,
std::chrono::milliseconds tmo,
size_t min_list_size,
size_t max_list_size )

Definition at line 19 of file ListCreator.cpp.

23 : m_random_generator(std::random_device()())
25 , m_send_timeout(tmo)
26{
27 int min = static_cast<int>(min_list_size);
28 int max = static_cast<int>(max_list_size);
29 if (min < 0) {
30 min = 1;
31 }
32 if (max < min) {
33 max = min;
34 }
35 m_size_dist = std::uniform_int_distribution<>{ min, max };
36
37 get_iomanager()->get_sender<CreateList>(m_create_connection);
38}
std::uniform_int_distribution m_size_dist
std::chrono::milliseconds m_send_timeout
static std::shared_ptr< iomanager::IOManager > get_iomanager()

Member Function Documentation

◆ send_create()

void dunedaq::listrev::ListCreator::send_create ( int id)

Definition at line 41 of file ListCreator.cpp.

42{
43 CreateList req;
44 req.list_id = id;
45 req.list_size = m_size_dist(m_random_generator);
46
47 get_iomanager()->get_sender<CreateList>(m_create_connection)->send(std::move(req), m_send_timeout); // NOLINT
48}

Member Data Documentation

◆ m_create_connection

std::string dunedaq::listrev::ListCreator::m_create_connection
private

Definition at line 36 of file ListCreator.hpp.

◆ m_random_generator

std::mt19937 dunedaq::listrev::ListCreator::m_random_generator
private

Definition at line 32 of file ListCreator.hpp.

◆ m_send_timeout

std::chrono::milliseconds dunedaq::listrev::ListCreator::m_send_timeout
private

Definition at line 37 of file ListCreator.hpp.

◆ m_size_dist

std::uniform_int_distribution dunedaq::listrev::ListCreator::m_size_dist
private

Definition at line 33 of file ListCreator.hpp.


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