DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
datahandlinglibs
include
datahandlinglibs
models
DefaultSkipListRequestHandler.hpp
Go to the documentation of this file.
1
9
#ifndef DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_MODELS_DEFAULTSKIPLISTREQUESTHANDLER_HPP_
10
#define DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_MODELS_DEFAULTSKIPLISTREQUESTHANDLER_HPP_
11
12
#include "
logging/Logging.hpp
"
13
14
#include "
datahandlinglibs/FrameErrorRegistry.hpp
"
15
#include "
datahandlinglibs/DataHandlingIssues.hpp
"
16
#include "
datahandlinglibs/ReadoutLogging.hpp
"
17
#include "
datahandlinglibs/models/DefaultRequestHandlerModel.hpp
"
18
#include "
datahandlinglibs/models/SkipListLatencyBufferModel.hpp
"
19
20
#include <atomic>
21
#include <memory>
22
#include <string>
23
24
using
dunedaq::datahandlinglibs::logging::TLVL_WORK_STEPS
;
25
26
namespace
dunedaq
{
27
namespace
datahandlinglibs {
28
29
template
<
class
T>
30
class
DefaultSkipListRequestHandler
31
:
public
datahandlinglibs::DefaultRequestHandlerModel
<T, datahandlinglibs::SkipListLatencyBufferModel<T>>
32
{
33
public
:
34
using
inherited
=
datahandlinglibs::DefaultRequestHandlerModel<T, datahandlinglibs::SkipListLatencyBufferModel<T>
>;
35
using
SkipListAcc
=
typename
folly::ConcurrentSkipList<T>::Accessor;
36
using
SkipListSkip
=
typename
folly::ConcurrentSkipList<T>::Skipper;
37
38
// Constructor that binds LB and error registry
39
DefaultSkipListRequestHandler
(std::shared_ptr<
datahandlinglibs::SkipListLatencyBufferModel<T>
>& latency_buffer,
40
std::unique_ptr<datahandlinglibs::FrameErrorRegistry>& error_registry)
41
: datahandlinglibs::
DefaultRequestHandlerModel
<T, datahandlinglibs::
SkipListLatencyBufferModel
<T>>(
42
latency_buffer,
43
error_registry)
44
{
45
TLOG_DEBUG
(TLVL_WORK_STEPS) <<
"DefaultSkipListRequestHandler created..."
;
46
}
47
48
protected
:
49
// Default ceanup request override
50
void
cleanup
()
override
{
skip_list_cleanup_request
(); }
51
52
// Cleanup request implementation for skiplist LB
53
void
skip_list_cleanup_request
();
54
55
private
:
56
// Constant: m_max_ts_diff is used to clean old data from the latency buffer. It is set to 10s.
57
static
const
constexpr
uint64_t
m_max_ts_diff
= 625000000;
// NOLINT(build/unsigned)
58
59
// Stats
60
std::atomic<int>
m_found_requested_count
{ 0 };
61
std::atomic<int>
m_bad_requested_count
{ 0 };
62
};
63
64
}
// namespace datahandlinglibs
65
}
// namespace dunedaq
66
67
// Declarations
68
#include "
detail/DefaultSkipListRequestHandler.hxx
"
69
70
#endif
// DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_MODELS_DEFAULTSKIPLISTREQUESTHANDLER_HPP_
DataHandlingIssues.hpp
DefaultRequestHandlerModel.hpp
DefaultSkipListRequestHandler.hxx
FrameErrorRegistry.hpp
ReadoutLogging.hpp
SkipListLatencyBufferModel.hpp
dunedaq::datahandlinglibs::DefaultRequestHandlerModel
Definition
DefaultRequestHandlerModel.hpp:83
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler
Definition
DefaultSkipListRequestHandler.hpp:32
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::m_found_requested_count
std::atomic< int > m_found_requested_count
Definition
DefaultSkipListRequestHandler.hpp:60
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::m_bad_requested_count
std::atomic< int > m_bad_requested_count
Definition
DefaultSkipListRequestHandler.hpp:61
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::DefaultSkipListRequestHandler
DefaultSkipListRequestHandler(std::shared_ptr< datahandlinglibs::SkipListLatencyBufferModel< T > > &latency_buffer, std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry)
Definition
DefaultSkipListRequestHandler.hpp:39
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::cleanup
void cleanup() override
Definition
DefaultSkipListRequestHandler.hpp:50
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::SkipListSkip
typename folly::ConcurrentSkipList< T >::Skipper SkipListSkip
Definition
DefaultSkipListRequestHandler.hpp:36
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::m_max_ts_diff
static const constexpr uint64_t m_max_ts_diff
Definition
DefaultSkipListRequestHandler.hpp:57
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::SkipListAcc
typename folly::ConcurrentSkipList< T >::Accessor SkipListAcc
Definition
DefaultSkipListRequestHandler.hpp:35
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler::skip_list_cleanup_request
void skip_list_cleanup_request()
Definition
DefaultSkipListRequestHandler.hxx:8
dunedaq::datahandlinglibs::SkipListLatencyBufferModel
Definition
SkipListLatencyBufferModel.hpp:29
Logging.hpp
TLOG_DEBUG
#define TLOG_DEBUG(lvl,...)
Definition
Logging.hpp:112
dunedaq::datahandlinglibs::logging::TLVL_WORK_STEPS
@ TLVL_WORK_STEPS
Definition
ReadoutLogging.hpp:23
dunedaq
Including Qt Headers.
Definition
TimingController.hxx:1
Generated on Sat Jun 28 2025 for DUNE-DAQ by
1.12.0