DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::iomanager::QueueBase Class Referenceabstract

The QueueBase class allows to address generic behavior of any Queue implementation. More...

#include <QueueBase.hpp>

Inheritance diagram for dunedaq::iomanager::QueueBase:
[legend]
Collaboration diagram for dunedaq::iomanager::QueueBase:
[legend]

Public Member Functions

 QueueBase (const std::string &name)
 QueueBase Constructor.
 
virtual size_t get_capacity () const =0
 Get the capacity (max size) of the queue.
 
virtual size_t get_num_elements () const =0
 
- Public Member Functions inherited from dunedaq::utilities::NamedObject
 NamedObject (const std::string &name)
 NamedObject Constructor.
 
 NamedObject (NamedObject const &)=delete
 NamedObject is not copy-constructible.
 
 NamedObject (NamedObject &&)=default
 NamedObject is move-constructible.
 
NamedObjectoperator= (NamedObject const &)=delete
 NamedObject is not copy-assignable.
 
NamedObjectoperator= (NamedObject &&)=default
 NamedObject is move-assignable.
 
virtual ~NamedObject ()=default
 Default virtual destructor.
 
const std::string & get_name () const final
 Get the name of this NamedObejct.
 
- Public Member Functions inherited from dunedaq::utilities::Named
 Named ()=default
 Named Constructor.
 
 Named (Named const &)=delete
 Named is not copy-constructible.
 
 Named (Named &&)=default
 Named is move-constructible.
 
Namedoperator= (Named const &)=delete
 Named is not copy-assignable.
 
Namedoperator= (Named &&)=default
 Named is move-assignable.
 
virtual ~Named ()=default
 Default virtual destructor.
 
- Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject
 MonitorableObject (const MonitorableObject &)=delete
 
MonitorableObjectoperator= (const MonitorableObject &)=delete
 
 MonitorableObject (MonitorableObject &&)=delete
 
MonitorableObjectoperator= (MonitorableObject &&)=delete
 
virtual ~MonitorableObject ()=default
 
auto get_opmon_id () const noexcept
 
auto get_opmon_level () const noexcept
 

Protected Member Functions

void generate_opmon_data () override
 Method to retrieve information (occupancy) from queues.
 
- Protected Member Functions inherited from dunedaq::opmonlib::MonitorableObject
 MonitorableObject ()=default
 
void register_node (ElementId name, NewNodePtr)
 
void publish (google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept
 

Private Member Functions

 QueueBase (const QueueBase &)=delete
 
QueueBaseoperator= (const QueueBase &)=delete
 
 QueueBase (QueueBase &&)=default
 
QueueBaseoperator= (QueueBase &&)=default
 

Additional Inherited Members

- Public Types inherited from dunedaq::opmonlib::MonitorableObject
using NodePtr = std::weak_ptr<MonitorableObject>
 
using NewNodePtr = std::shared_ptr<MonitorableObject>
 
using ElementId = std::string
 
- Static Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject
static bool publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept
 

Detailed Description

The QueueBase class allows to address generic behavior of any Queue implementation.

Definition at line 38 of file QueueBase.hpp.

Constructor & Destructor Documentation

◆ QueueBase() [1/3]

dunedaq::iomanager::QueueBase::QueueBase ( const std::string & name)
inlineexplicit

QueueBase Constructor.

Parameters
nameName of the Queue instance

Definition at line 45 of file QueueBase.hpp.

46 : utilities::NamedObject(name)
47 {}

◆ QueueBase() [2/3]

dunedaq::iomanager::QueueBase::QueueBase ( const QueueBase & )
privatedelete

◆ QueueBase() [3/3]

dunedaq::iomanager::QueueBase::QueueBase ( QueueBase && )
privatedefault

Member Function Documentation

◆ generate_opmon_data()

void dunedaq::iomanager::QueueBase::generate_opmon_data ( )
inlineoverrideprotectedvirtual

Method to retrieve information (occupancy) from queues.

Reimplemented from dunedaq::opmonlib::MonitorableObject.

Definition at line 64 of file QueueBase.hpp.

65 {
66 opmon::QueueInfo info;
67 info.set_capacity(this->get_capacity());
68 info.set_number_of_elements(this->get_num_elements());
69 publish(std::move(info));
70 }
virtual size_t get_num_elements() const =0
virtual size_t get_capacity() const =0
Get the capacity (max size) of the queue.
void publish(google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept

◆ get_capacity()

virtual size_t dunedaq::iomanager::QueueBase::get_capacity ( ) const
pure virtual

Get the capacity (max size) of the queue.

Returns
size_t capacity

Implemented in dunedaq::iomanager::FollyQueue< T, FollyQueueType >, and dunedaq::iomanager::StdDeQueue< T >.

◆ get_num_elements()

virtual size_t dunedaq::iomanager::QueueBase::get_num_elements ( ) const
pure virtual

◆ operator=() [1/2]

QueueBase & dunedaq::iomanager::QueueBase::operator= ( const QueueBase & )
privatedelete

◆ operator=() [2/2]

QueueBase & dunedaq::iomanager::QueueBase::operator= ( QueueBase && )
privatedefault

The documentation for this class was generated from the following file: