DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
flxlibs
src
DefaultParserImpl.hpp
Go to the documentation of this file.
1
8
#ifndef FLXLIBS_SRC_DEFAULTPARSERIMPL_HPP_
9
#define FLXLIBS_SRC_DEFAULTPARSERIMPL_HPP_
10
11
// 3rdparty, external
12
#include "packetformat/block_format.hpp"
13
#include "packetformat/block_parser.hpp"
14
15
#include "
FelixIssues.hpp
"
16
//#include "ReadoutTypes.hpp"
17
#include "
FelixStatistics.hpp
"
18
19
// From STD
20
#include <functional>
21
#include <iomanip>
22
23
namespace
dunedaq::flxlibs
{
24
25
class
DefaultParserImpl
:
public
felix::packetformat::ParserOperations
26
{
27
public
:
28
DefaultParserImpl
();
29
~DefaultParserImpl
();
30
DefaultParserImpl
(
const
DefaultParserImpl
&) =
delete
;
31
DefaultParserImpl
&
operator=
(
const
DefaultParserImpl
&) =
delete
;
32
DefaultParserImpl
(
DefaultParserImpl
&&) =
delete
;
33
DefaultParserImpl
&
operator=
(
DefaultParserImpl
&&) =
delete
;
34
35
stats::ParserStats
&
get_stats
();
36
37
// Public functions for re-bind
38
std::function<void(
const
felix::packetformat::chunk&
chunk
)>
process_chunk_func
;
39
std::function<void(
const
felix::packetformat::shortchunk& shortchunk)>
process_shortchunk_func
;
40
std::function<void(
const
felix::packetformat::subchunk& subchunk)>
process_subchunk_func
;
41
std::function<void(
const
felix::packetformat::block& block)>
process_block_func
;
42
std::function<void(
const
felix::packetformat::chunk&
chunk
)>
process_chunk_with_error_func
;
43
std::function<void(
const
felix::packetformat::subchunk& subchunk)>
process_subchunk_with_error_func
;
44
std::function<void(
const
felix::packetformat::shortchunk& shortchunk)>
process_shortchunk_with_error_func
;
45
std::function<void(
const
felix::packetformat::block& block)>
process_block_with_error_func
;
46
47
// Implementation of ParserOperations: They invoke the functions above
48
void
chunk_processed
(
const
felix::packetformat::chunk&
chunk
);
49
void
shortchunk_processed
(
const
felix::packetformat::shortchunk& shortchunk);
50
void
subchunk_processed
(
const
felix::packetformat::subchunk& subchunk);
51
void
block_processed
(
const
felix::packetformat::block& block);
52
void
chunk_processed_with_error
(
const
felix::packetformat::chunk&
chunk
);
53
void
subchunk_processed_with_error
(
const
felix::packetformat::subchunk& subchunk);
54
void
shortchunk_process_with_error
(
const
felix::packetformat::shortchunk& shortchunk);
55
void
block_processed_with_error
(
const
felix::packetformat::block& block);
56
57
private
:
58
// Default/empty implementations: No-op "processing"
59
void
process_chunk
(
const
felix::packetformat::chunk&
/*chunk*/
) {}
60
void
process_shortchunk
(
const
felix::packetformat::shortchunk&
/*shortchunk*/
) {}
61
void
process_subchunk
(
const
felix::packetformat::subchunk&
/*subchunk*/
) {}
62
void
process_block
(
const
felix::packetformat::block&
/*block*/
) {}
63
void
process_chunk_with_error
(
const
felix::packetformat::chunk&
/*chunk*/
) {}
64
void
process_subchunk_with_error
(
const
felix::packetformat::subchunk&
/*subchunk*/
) {}
65
void
process_shortchunk_with_error
(
const
felix::packetformat::shortchunk&
/*shortchunk*/
) {}
66
void
process_block_with_error
(
const
felix::packetformat::block&
/*block*/
) {}
67
68
// Statistics
69
stats::ParserStats
m_stats
;
70
};
71
72
}
// namespace dunedaq::flxlibs
73
74
#endif
// FLXLIBS_SRC_DEFAULTPARSERIMPL_HPP_
FelixIssues.hpp
FelixStatistics.hpp
dunedaq::flxlibs::DefaultParserImpl::shortchunk_processed
void shortchunk_processed(const felix::packetformat::shortchunk &shortchunk)
Definition
DefaultParserImpl.cpp:51
dunedaq::flxlibs::DefaultParserImpl::process_block_func
std::function< void(const felix::packetformat::block &block)> process_block_func
Definition
DefaultParserImpl.hpp:41
dunedaq::flxlibs::DefaultParserImpl::process_chunk_with_error_func
std::function< void(const felix::packetformat::chunk &chunk)> process_chunk_with_error_func
Definition
DefaultParserImpl.hpp:42
dunedaq::flxlibs::DefaultParserImpl::DefaultParserImpl
DefaultParserImpl(DefaultParserImpl &&)=delete
DefaultParserImpl is not move-constructible.
dunedaq::flxlibs::DefaultParserImpl::process_chunk
void process_chunk(const felix::packetformat::chunk &)
Definition
DefaultParserImpl.hpp:59
dunedaq::flxlibs::DefaultParserImpl::process_block
void process_block(const felix::packetformat::block &)
Definition
DefaultParserImpl.hpp:62
dunedaq::flxlibs::DefaultParserImpl::process_chunk_func
std::function< void(const felix::packetformat::chunk &chunk)> process_chunk_func
Definition
DefaultParserImpl.hpp:38
dunedaq::flxlibs::DefaultParserImpl::process_subchunk_with_error_func
std::function< void(const felix::packetformat::subchunk &subchunk)> process_subchunk_with_error_func
Definition
DefaultParserImpl.hpp:43
dunedaq::flxlibs::DefaultParserImpl::block_processed_with_error
void block_processed_with_error(const felix::packetformat::block &block)
Definition
DefaultParserImpl.cpp:102
dunedaq::flxlibs::DefaultParserImpl::subchunk_processed
void subchunk_processed(const felix::packetformat::subchunk &subchunk)
Definition
DefaultParserImpl.cpp:58
dunedaq::flxlibs::DefaultParserImpl::DefaultParserImpl
DefaultParserImpl(const DefaultParserImpl &)=delete
DefaultParserImpl is not copy-constructible.
dunedaq::flxlibs::DefaultParserImpl::process_shortchunk_func
std::function< void(const felix::packetformat::shortchunk &shortchunk)> process_shortchunk_func
Definition
DefaultParserImpl.hpp:39
dunedaq::flxlibs::DefaultParserImpl::process_subchunk_with_error
void process_subchunk_with_error(const felix::packetformat::subchunk &)
Definition
DefaultParserImpl.hpp:64
dunedaq::flxlibs::DefaultParserImpl::shortchunk_process_with_error
void shortchunk_process_with_error(const felix::packetformat::shortchunk &shortchunk)
Definition
DefaultParserImpl.cpp:95
dunedaq::flxlibs::DefaultParserImpl::~DefaultParserImpl
~DefaultParserImpl()
Definition
DefaultParserImpl.cpp:35
dunedaq::flxlibs::DefaultParserImpl::operator=
DefaultParserImpl & operator=(DefaultParserImpl &&)=delete
DefaultParserImpl is not move-assignable.
dunedaq::flxlibs::DefaultParserImpl::chunk_processed
void chunk_processed(const felix::packetformat::chunk &chunk)
Definition
DefaultParserImpl.cpp:44
dunedaq::flxlibs::DefaultParserImpl::DefaultParserImpl
DefaultParserImpl()
Definition
DefaultParserImpl.cpp:21
dunedaq::flxlibs::DefaultParserImpl::process_shortchunk
void process_shortchunk(const felix::packetformat::shortchunk &)
Definition
DefaultParserImpl.hpp:60
dunedaq::flxlibs::DefaultParserImpl::process_subchunk
void process_subchunk(const felix::packetformat::subchunk &)
Definition
DefaultParserImpl.hpp:61
dunedaq::flxlibs::DefaultParserImpl::operator=
DefaultParserImpl & operator=(const DefaultParserImpl &)=delete
DefaultParserImpl is not copy-assignable.
dunedaq::flxlibs::DefaultParserImpl::process_block_with_error
void process_block_with_error(const felix::packetformat::block &)
Definition
DefaultParserImpl.hpp:66
dunedaq::flxlibs::DefaultParserImpl::process_subchunk_func
std::function< void(const felix::packetformat::subchunk &subchunk)> process_subchunk_func
Definition
DefaultParserImpl.hpp:40
dunedaq::flxlibs::DefaultParserImpl::get_stats
stats::ParserStats & get_stats()
Definition
DefaultParserImpl.cpp:38
dunedaq::flxlibs::DefaultParserImpl::m_stats
stats::ParserStats m_stats
Definition
DefaultParserImpl.hpp:69
dunedaq::flxlibs::DefaultParserImpl::chunk_processed_with_error
void chunk_processed_with_error(const felix::packetformat::chunk &chunk)
Definition
DefaultParserImpl.cpp:72
dunedaq::flxlibs::DefaultParserImpl::process_shortchunk_with_error
void process_shortchunk_with_error(const felix::packetformat::shortchunk &)
Definition
DefaultParserImpl.hpp:65
dunedaq::flxlibs::DefaultParserImpl::block_processed
void block_processed(const felix::packetformat::block &block)
Definition
DefaultParserImpl.cpp:65
dunedaq::flxlibs::DefaultParserImpl::process_shortchunk_with_error_func
std::function< void(const felix::packetformat::shortchunk &shortchunk)> process_shortchunk_with_error_func
Definition
DefaultParserImpl.hpp:44
dunedaq::flxlibs::DefaultParserImpl::process_chunk_with_error
void process_chunk_with_error(const felix::packetformat::chunk &)
Definition
DefaultParserImpl.hpp:63
dunedaq::flxlibs::DefaultParserImpl::subchunk_processed_with_error
void subchunk_processed_with_error(const felix::packetformat::subchunk &subchunk)
Definition
DefaultParserImpl.cpp:79
dunedaq::flxlibs::DefaultParserImpl::process_block_with_error_func
std::function< void(const felix::packetformat::block &block)> process_block_with_error_func
Definition
DefaultParserImpl.hpp:45
dunedaq::flxlibs
Definition
AvailableParserOperations.hpp:27
dunedaq::chunk
FELIX Initialization std::string initerror FELIX queue timed std::string queuename Unexpected chunk int ParserOps couldn t push to queue !Failed chunk
Definition
FelixIssues.hpp:33
dunedaq::flxlibs::stats::ParserStats
Definition
FelixStatistics.hpp:18
Generated on
for DUNE-DAQ by
1.17.0