Line data Source code
1 : /**
2 : * @file ListCreator.hpp
3 : *
4 : * Helper methods for sending CreateList requests
5 : *
6 : * This is part of the DUNE DAQ Software Suite, copyright 2020.
7 : * Licensing/copyright details are in the COPYING file that you should have
8 : * received with this code.
9 : */
10 :
11 : #ifndef LISTREV_SRC_LISTCREATOR_HPP_
12 : #define LISTREV_SRC_LISTCREATOR_HPP_
13 :
14 : #include "ListWrapper.hpp"
15 :
16 : #include <random>
17 : #include <string>
18 :
19 : namespace dunedaq::listrev {
20 :
21 : class ListCreator
22 : {
23 : public:
24 5 : ListCreator() = default; // NOLINT
25 : ListCreator(std::string conn, std::chrono::milliseconds tmo, size_t min_list_size, size_t max_list_size);
26 :
27 : // Methods
28 : size_t send_create(int id);
29 :
30 : private:
31 : // Data
32 : std::mt19937 m_random_generator;
33 : std::uniform_int_distribution<> m_size_dist;
34 :
35 : // Configuration
36 : std::string m_create_connection{ "" };
37 : std::chrono::milliseconds m_send_timeout{ 0 };
38 : };
39 : } // namespace dunedaq::listrev
40 :
41 : #endif // LISTREV_SRC_LISTCREATOR_HPP_
|