DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
fdreadoutlibs
include
fdreadoutlibs
daphne
DAPHNEListRequestHandler.hpp
Go to the documentation of this file.
1
9
#ifndef FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNE_DAPHNELISTREQUESTHANDLER_HPP_
10
#define FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNE_DAPHNELISTREQUESTHANDLER_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 "
fddetdataformats/DAPHNEFrame.hpp
"
21
22
#include "
fdreadoutlibs/DAPHNESuperChunkTypeAdapter.hpp
"
23
24
#include <atomic>
25
#include <deque>
26
#include <functional>
27
#include <future>
28
#include <iomanip>
29
#include <memory>
30
#include <string>
31
#include <thread>
32
#include <utility>
33
#include <vector>
34
35
using
dunedaq::datahandlinglibs::logging::TLVL_WORK_STEPS
;
36
37
namespace
dunedaq
{
38
namespace
fdreadoutlibs
{
39
40
class
DAPHNEListRequestHandler
41
:
public
datahandlinglibs::DefaultRequestHandlerModel
<
42
types::DAPHNESuperChunkTypeAdapter,
43
datahandlinglibs::SkipListLatencyBufferModel<types::DAPHNESuperChunkTypeAdapter>>
44
{
45
public
:
46
// Using shorter typenames
47
using
inherited
=
48
datahandlinglibs::DefaultRequestHandlerModel
<
types::DAPHNESuperChunkTypeAdapter
,
49
datahandlinglibs::SkipListLatencyBufferModel<types::DAPHNESuperChunkTypeAdapter>
>;
50
using
SkipListAcc
=
typename
folly::ConcurrentSkipList<types::DAPHNESuperChunkTypeAdapter>::Accessor;
51
using
SkipListSkip
=
typename
folly::ConcurrentSkipList<types::DAPHNESuperChunkTypeAdapter>::Skipper;
52
53
// Constructor
54
DAPHNEListRequestHandler
(
55
std::shared_ptr<
datahandlinglibs::SkipListLatencyBufferModel<types::DAPHNESuperChunkTypeAdapter>
>& latency_buffer,
56
std::unique_ptr<datahandlinglibs::FrameErrorRegistry>& error_registry)
57
:
DefaultRequestHandlerModel
<
types
::DAPHNESuperChunkTypeAdapter,
58
datahandlinglibs
::SkipListLatencyBufferModel<
types
::DAPHNESuperChunkTypeAdapter>>(
59
latency_buffer,
60
error_registry)
61
{
62
TLOG_DEBUG
(
TLVL_WORK_STEPS
) <<
"DAPHNEListRequestHandler created..."
;
63
}
64
65
protected
:
66
// Override cleanup with special implementation
67
void
cleanup
()
override
{
daphne_cleanup_request
(); }
68
69
// The DAPHNE with SkipList needs a special cleanup method.
70
void
daphne_cleanup_request
();
71
72
private
:
73
// Constants
74
static
const
constexpr
uint64_t
m_max_ts_diff
= 10000000;
// NOLINT(build/unsigned)
75
76
// Stats
77
std::atomic<int>
m_found_requested_count
{ 0 };
78
std::atomic<int>
m_bad_requested_count
{ 0 };
79
};
80
81
}
// namespace fdreadoutlibs
82
}
// namespace dunedaq
83
84
#endif
// FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNE_DAPHNELISTREQUESTHANDLER_HPP_
DAPHNEFrame.hpp
DAPHNESuperChunkTypeAdapter.hpp
DataHandlingIssues.hpp
DefaultRequestHandlerModel.hpp
FrameErrorRegistry.hpp
TLVL_WORK_STEPS
@ TLVL_WORK_STEPS
Definition
IfaceWrapper.cpp:52
ReadoutLogging.hpp
SkipListLatencyBufferModel.hpp
dunedaq::datahandlinglibs::DefaultRequestHandlerModel
Definition
DefaultRequestHandlerModel.hpp:83
dunedaq::datahandlinglibs::DefaultRequestHandlerModel< types::DAPHNESuperChunkTypeAdapter, datahandlinglibs::SkipListLatencyBufferModel< types::DAPHNESuperChunkTypeAdapter > >::DefaultRequestHandlerModel
DefaultRequestHandlerModel(std::shared_ptr< datahandlinglibs::SkipListLatencyBufferModel< types::DAPHNESuperChunkTypeAdapter > > &latency_buffer, std::unique_ptr< FrameErrorRegistry > &error_registry)
Definition
DefaultRequestHandlerModel.hpp:95
dunedaq::datahandlinglibs::SkipListLatencyBufferModel
Definition
SkipListLatencyBufferModel.hpp:29
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::m_bad_requested_count
std::atomic< int > m_bad_requested_count
Definition
DAPHNEListRequestHandler.hpp:78
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::cleanup
void cleanup() override
Definition
DAPHNEListRequestHandler.hpp:67
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::SkipListAcc
typename folly::ConcurrentSkipList< types::DAPHNESuperChunkTypeAdapter >::Accessor SkipListAcc
Definition
DAPHNEListRequestHandler.hpp:50
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::inherited
datahandlinglibs::DefaultRequestHandlerModel< types::DAPHNESuperChunkTypeAdapter, datahandlinglibs::SkipListLatencyBufferModel< types::DAPHNESuperChunkTypeAdapter > > inherited
Definition
DAPHNEListRequestHandler.hpp:47
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::m_max_ts_diff
static const constexpr uint64_t m_max_ts_diff
Definition
DAPHNEListRequestHandler.hpp:74
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::m_found_requested_count
std::atomic< int > m_found_requested_count
Definition
DAPHNEListRequestHandler.hpp:77
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::DAPHNEListRequestHandler
DAPHNEListRequestHandler(std::shared_ptr< datahandlinglibs::SkipListLatencyBufferModel< types::DAPHNESuperChunkTypeAdapter > > &latency_buffer, std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry)
Definition
DAPHNEListRequestHandler.hpp:54
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::SkipListSkip
typename folly::ConcurrentSkipList< types::DAPHNESuperChunkTypeAdapter >::Skipper SkipListSkip
Definition
DAPHNEListRequestHandler.hpp:51
dunedaq::fdreadoutlibs::DAPHNEListRequestHandler::daphne_cleanup_request
void daphne_cleanup_request()
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::datahandlinglibs
Definition
DataHandlingConcept.hpp:16
dunedaq::fdreadoutlibs::types
Definition
CRTBernTypeAdapter.hpp:16
dunedaq::fdreadoutlibs
Definition
CRTBernFrameProcessor.hpp:16
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::fdreadoutlibs::types::DAPHNESuperChunkTypeAdapter
Definition
DAPHNESuperChunkTypeAdapter.hpp:26
Generated on
for DUNE-DAQ by
1.17.0