DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
iomanager
include
iomanager
queue
QueueBase.hpp
Go to the documentation of this file.
1
14
15
#ifndef IOMANAGER_INCLUDE_IOMANAGER_QUEUE_QUEUEBASE_HPP_
16
#define IOMANAGER_INCLUDE_IOMANAGER_QUEUE_QUEUEBASE_HPP_
17
18
#include "
utilities/NamedObject.hpp
"
19
20
#include "
iomanager/opmon/queue.pb.h
"
21
#include "
opmonlib/MonitorableObject.hpp
"
22
23
#include "
ers/Issue.hpp
"
24
25
#include <atomic>
26
#include <chrono>
27
#include <cstddef>
28
#include <memory>
29
#include <string>
30
#include <utility>
31
#include <vector>
32
33
namespace
dunedaq::iomanager
{
34
42
class
QueueBase
43
:
public
utilities::NamedObject
44
,
public
opmonlib::MonitorableObject
45
{
46
public
:
51
explicit
QueueBase
(
const
std::string& name)
52
:
utilities
::
NamedObject
(name)
53
,
opmonlib
::
MonitorableObject
()
54
{
55
}
56
61
virtual
size_t
get_capacity
()
const
= 0;
62
63
virtual
size_t
get_num_elements
()
const
= 0;
64
65
protected
:
70
void
generate_opmon_data
()
override
71
{
72
opmon::QueueInfo
info;
73
info.set_capacity(this->
get_capacity
());
74
info.
set_number_of_elements
(this->
get_num_elements
());
75
publish
(std::move(info));
76
}
77
78
private
:
79
QueueBase
(
const
QueueBase
&) =
delete
;
80
QueueBase
&
operator=
(
const
QueueBase
&) =
delete
;
81
QueueBase
(
QueueBase
&&) =
delete
;
82
QueueBase
&
operator=
(
QueueBase
&&) =
delete
;
83
};
84
85
}
// namespace dunedaq::iomanager
86
87
#endif
// IOMANAGER_INCLUDE_IOMANAGER_QUEUE_QUEUEBASE_HPP_
Issue.hpp
MonitorableObject.hpp
NamedObject.hpp
dunedaq::iomanager::QueueBase::QueueBase
QueueBase(const QueueBase &)=delete
dunedaq::iomanager::QueueBase::QueueBase
QueueBase(const std::string &name)
QueueBase Constructor.
Definition
QueueBase.hpp:51
dunedaq::iomanager::QueueBase::operator=
QueueBase & operator=(const QueueBase &)=delete
dunedaq::iomanager::QueueBase::generate_opmon_data
void generate_opmon_data() override
Method to retrieve information (occupancy) from queues.
Definition
QueueBase.hpp:70
dunedaq::iomanager::QueueBase::get_num_elements
virtual size_t get_num_elements() const =0
dunedaq::iomanager::QueueBase::QueueBase
QueueBase(QueueBase &&)=delete
dunedaq::iomanager::QueueBase::operator=
QueueBase & operator=(QueueBase &&)=delete
dunedaq::iomanager::QueueBase::get_capacity
virtual size_t get_capacity() const =0
Get the capacity (max size) of the queue.
dunedaq::iomanager::opmon::QueueInfo
Definition
queue.pb.h:80
dunedaq::iomanager::opmon::QueueInfo::set_number_of_elements
void set_number_of_elements(::uint64_t value)
Definition
queue.pb.h:295
dunedaq::opmonlib::MonitorableObject
Definition
MonitorableObject.hpp:74
dunedaq::opmonlib::MonitorableObject::publish
void publish(google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
Definition
MonitorableObject.cpp:58
dunedaq::opmonlib::MonitorableObject::MonitorableObject
MonitorableObject(const MonitorableObject &)=delete
dunedaq::utilities::NamedObject
Implements the Named interface.
Definition
NamedObject.hpp:44
dunedaq::utilities::NamedObject::NamedObject
NamedObject(const std::string &name)
NamedObject Constructor.
Definition
NamedObject.hpp:50
dunedaq::iomanager
Definition
IOManager.hxx:19
dunedaq::utilities
Definition
TimestampEstimatorTimeSync.hxx:3
opmonlib
Definition
__init__.py:1
queue.pb.h
Generated on
for DUNE-DAQ by
1.17.0