|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <FollyQueue.hpp>
Public Types | |
| using | value_t = T |
| using | duration_t = typename Queue<T>::duration_t |
Public Types inherited from dunedaq::iomanager::Queue< T > | |
| using | value_t = T |
| Type stored in the Queue. | |
| using | duration_t = std::chrono::milliseconds |
| Base duration type for timeouts. | |
Public Types inherited from dunedaq::opmonlib::MonitorableObject | |
| using | NodePtr = std::weak_ptr<MonitorableObject> |
| using | NewNodePtr = std::shared_ptr<MonitorableObject> |
| using | ElementId = std::string |
Public Member Functions | |
| FollyQueue (const std::string &name, size_t capacity) | |
| size_t | get_capacity () const noexcept override |
| Get the capacity (max size) of the queue. | |
| size_t | get_num_elements () const noexcept override |
| bool | can_pop () const noexcept override |
| Determine whether the Queue may be popped from. | |
| void | pop (value_t &val, const duration_t &dur) override |
| Pop the first value off of the queue. | |
| bool | try_pop (value_t &val, const duration_t &dur) override |
| bool | can_push () const noexcept override |
| Determine whether the Queue may be pushed onto. | |
| void | push (value_t &&t, const duration_t &dur) override |
| Push a value onto the Queue. | |
| bool | try_push (value_t &&t, const duration_t &dur) override |
| FollyQueue (const FollyQueue &)=delete | |
| FollyQueue & | operator= (const FollyQueue &)=delete |
| FollyQueue (FollyQueue &&)=delete | |
| FollyQueue & | operator= (FollyQueue &&)=delete |
Public Member Functions inherited from dunedaq::iomanager::Queue< T > | |
| Queue (const std::string &name) | |
| Queue Constructor. | |
Public Member Functions inherited from dunedaq::iomanager::QueueBase | |
| QueueBase (const std::string &name) | |
| QueueBase Constructor. | |
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. | |
| NamedObject & | operator= (NamedObject const &)=delete |
| NamedObject is not copy-assignable. | |
| NamedObject & | operator= (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. | |
| Named & | operator= (Named const &)=delete |
| Named is not copy-assignable. | |
| Named & | operator= (Named &&)=default |
| Named is move-assignable. | |
| virtual | ~Named ()=default |
| Default virtual destructor. | |
Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject | |
| MonitorableObject (const MonitorableObject &)=delete | |
| MonitorableObject & | operator= (const MonitorableObject &)=delete |
| MonitorableObject (MonitorableObject &&)=delete | |
| MonitorableObject & | operator= (MonitorableObject &&)=delete |
| virtual | ~MonitorableObject ()=default |
| auto | get_opmon_id () const noexcept |
| auto | get_opmon_level () const noexcept |
Private Attributes | |
| FollyQueueType< T, true > | m_queue |
| size_t | m_capacity |
Additional Inherited Members | |
Static Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject | |
| static bool | publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept |
Protected Member Functions inherited from dunedaq::iomanager::QueueBase | |
| 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 |
Definition at line 29 of file FollyQueue.hpp.
| using dunedaq::iomanager::FollyQueue< T, FollyQueueType >::duration_t = typename Queue<T>::duration_t |
Definition at line 33 of file FollyQueue.hpp.
| using dunedaq::iomanager::FollyQueue< T, FollyQueueType >::value_t = T |
Definition at line 32 of file FollyQueue.hpp.
|
inlineexplicit |
Definition at line 35 of file FollyQueue.hpp.
|
delete |
|
delete |
|
inlineoverridevirtualnoexcept |
Determine whether the Queue may be popped from.
Reimplemented from dunedaq::iomanager::Queue< T >.
Definition at line 46 of file FollyQueue.hpp.
|
inlineoverridevirtualnoexcept |
Determine whether the Queue may be pushed onto.
Reimplemented from dunedaq::iomanager::Queue< T >.
Definition at line 63 of file FollyQueue.hpp.
|
inlineoverridevirtualnoexcept |
Get the capacity (max size) of the queue.
Implements dunedaq::iomanager::QueueBase.
Definition at line 42 of file FollyQueue.hpp.
|
inlineoverridevirtualnoexcept |
|
delete |
|
delete |
|
inlineoverridevirtual |
Pop the first value off of the queue.
| val | Reference to the value that is popped from the queue |
| timeout | Timeout for the pop operation |
This is a pure virtual function If pop takes longer than the timeout, implementations should throw an exception
Implements dunedaq::iomanager::Queue< T >.
Definition at line 48 of file FollyQueue.hpp.
|
inlineoverridevirtual |
Push a value onto the Queue.
| val | Value to push (rvalue) |
| timeout | Timeout for the push operation. |
This is a pure virtual function. If push takes longer than the timeout, implementations should throw an exception.
Implements dunedaq::iomanager::Queue< T >.
Definition at line 65 of file FollyQueue.hpp.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::Queue< T >.
Definition at line 55 of file FollyQueue.hpp.
|
inlineoverridevirtual |
Implements dunedaq::iomanager::Queue< T >.
Definition at line 72 of file FollyQueue.hpp.
|
private |
Definition at line 93 of file FollyQueue.hpp.
|
private |
Definition at line 92 of file FollyQueue.hpp.