|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <ElinkModel.hpp>
Public Types | |
| using | sink_t = iomanager::SenderConcept<TargetPayloadType> |
| using | err_sink_t = iomanager::SenderConcept<felix::packetformat::chunk> |
| using | inherited = ElinkConcept |
| using | data_t = nlohmann::json |
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 | |
| ElinkModel () | |
| ElinkModel Constructor. | |
| ~ElinkModel () | |
| void | set_sink (const std::string &sink_name) override |
| std::shared_ptr< sink_t > & | get_sink () |
| std::shared_ptr< err_sink_t > & | get_error_sink () |
| void | init (const size_t block_queue_capacity) |
| void | conf (size_t block_size, bool is_32b_trailers) |
| void | start () |
| void | stop () |
| void | set_running (bool should_run) |
| bool | queue_in_block_address (uint64_t block_addr) |
Public Member Functions inherited from dunedaq::flxlibs::ElinkConcept | |
| ElinkConcept () | |
| virtual | ~ElinkConcept () |
| ElinkConcept (const ElinkConcept &)=delete | |
| ElinkConcept is not copy-constructible. | |
| ElinkConcept & | operator= (const ElinkConcept &)=delete |
| ElinkConcept is not copy-assginable. | |
| ElinkConcept (ElinkConcept &&)=delete | |
| ElinkConcept is not move-constructible. | |
| ElinkConcept & | operator= (ElinkConcept &&)=delete |
| ElinkConcept is not move-assignable. | |
| DefaultParserImpl & | get_parser () |
| void | set_ids (int card, int slr, int id, int tag) |
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 |
Protected Member Functions | |
| void | generate_opmon_data () override |
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 Types | |
| using | UniqueBlockAddrQueue = std::unique_ptr<folly::ProducerConsumerQueue<uint64_t>> |
Private Member Functions | |
| void | process_elink () |
Private Attributes | |
| std::atomic< bool > | m_run_marker |
| bool | m_configured { false } |
| bool | m_sink_is_set { false } |
| std::shared_ptr< sink_t > | m_sink_queue |
| std::shared_ptr< err_sink_t > | m_error_sink_queue |
| UniqueBlockAddrQueue | m_block_addr_queue |
| utilities::ReusableThread | m_parser_thread |
Static Private Attributes | |
| static const std::string | m_parser_thread_name = "elinkp" |
Additional Inherited Members | |
Static Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject | |
| static bool | publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept |
Protected Attributes inherited from dunedaq::flxlibs::ElinkConcept | |
| DefaultParserImpl | m_parser_impl |
| std::unique_ptr< felix::packetformat::BlockParser< DefaultParserImpl > > | m_parser |
| int | m_card_id |
| int | m_logical_unit |
| int | m_link_id |
| int | m_link_tag |
| std::string | m_elink_str |
| std::string | m_elink_source_tid |
| std::chrono::time_point< std::chrono::high_resolution_clock > | m_t0 |
Definition at line 34 of file ElinkModel.hpp.
| using dunedaq::flxlibs::ElinkModel< TargetPayloadType >::data_t = nlohmann::json |
Definition at line 40 of file ElinkModel.hpp.
| using dunedaq::flxlibs::ElinkModel< TargetPayloadType >::err_sink_t = iomanager::SenderConcept<felix::packetformat::chunk> |
Definition at line 38 of file ElinkModel.hpp.
| using dunedaq::flxlibs::ElinkModel< TargetPayloadType >::inherited = ElinkConcept |
Definition at line 39 of file ElinkModel.hpp.
| using dunedaq::flxlibs::ElinkModel< TargetPayloadType >::sink_t = iomanager::SenderConcept<TargetPayloadType> |
Definition at line 37 of file ElinkModel.hpp.
|
private |
Definition at line 177 of file ElinkModel.hpp.
|
inline |
ElinkModel Constructor.
| name | Instance name for this ElinkModel instance |
Definition at line 46 of file ElinkModel.hpp.
|
inline |
Definition at line 51 of file ElinkModel.hpp.
|
inlinevirtual |
Implements dunedaq::flxlibs::ElinkConcept.
Definition at line 72 of file ElinkModel.hpp.
|
inlineoverrideprotectedvirtual |
Hook for customisable pubblication. The function can throw, exception will be caught by the monitoring thread
Reimplemented from dunedaq::opmonlib::MonitorableObject.
Definition at line 128 of file ElinkModel.hpp.
|
inline |
Definition at line 65 of file ElinkModel.hpp.
|
inline |
Definition at line 63 of file ElinkModel.hpp.
|
inlinevirtual |
Implements dunedaq::flxlibs::ElinkConcept.
Definition at line 67 of file ElinkModel.hpp.
|
inlineprivate |
Definition at line 194 of file ElinkModel.hpp.
|
inlinevirtual |
Implements dunedaq::flxlibs::ElinkConcept.
Definition at line 117 of file ElinkModel.hpp.
|
inline |
Definition at line 111 of file ElinkModel.hpp.
|
inlineoverridevirtual |
Implements dunedaq::flxlibs::ElinkConcept.
Definition at line 53 of file ElinkModel.hpp.
|
inlinevirtual |
Implements dunedaq::flxlibs::ElinkConcept.
Definition at line 86 of file ElinkModel.hpp.
|
inlinevirtual |
Implements dunedaq::flxlibs::ElinkConcept.
Definition at line 98 of file ElinkModel.hpp.
|
private |
Definition at line 189 of file ElinkModel.hpp.
|
private |
Definition at line 181 of file ElinkModel.hpp.
|
private |
Definition at line 186 of file ElinkModel.hpp.
|
private |
Definition at line 193 of file ElinkModel.hpp.
|
inlinestaticprivate |
Definition at line 192 of file ElinkModel.hpp.
|
private |
Definition at line 180 of file ElinkModel.hpp.
|
private |
Definition at line 184 of file ElinkModel.hpp.
|
private |
Definition at line 185 of file ElinkModel.hpp.