DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <NetworkManager.hpp>
Public Member Functions | |
~NetworkManager () | |
void | configure (const std::string &session_name, const std::vector< const confmodel::NetworkConnection * > &connections, const confmodel::ConnectivityService *conn_svc, dunedaq::opmonlib::OpMonManager &) |
void | reset () |
void | shutdown () |
std::shared_ptr< ipm::Receiver > | get_receiver (ConnectionId const &conn_id) |
std::shared_ptr< ipm::Sender > | get_sender (ConnectionId const &conn_id) |
void | remove_sender (ConnectionId const &conn_id) |
bool | is_pubsub_connection (ConnectionId const &conn_id) const |
ConnectionResponse | get_connections (ConnectionId const &conn_id, bool restrict_single=false) const |
ConnectionResponse | get_preconfigured_connections (ConnectionId const &conn_id) const |
std::set< std::string > | get_datatypes (std::string const &uid) const |
Static Public Member Functions | |
static NetworkManager & | get () |
Private Member Functions | |
NetworkManager ()=default | |
NetworkManager (NetworkManager const &)=delete | |
NetworkManager (NetworkManager &&)=delete | |
NetworkManager & | operator= (NetworkManager const &)=delete |
NetworkManager & | operator= (NetworkManager &&)=delete |
std::shared_ptr< ipm::Receiver > | create_receiver (std::vector< ConnectionInfo > connections, ConnectionId const &conn_id) |
std::shared_ptr< ipm::Sender > | create_sender (ConnectionInfo connection) |
std::vector< std::string > | get_pubsub_connection_strings (std::vector< ConnectionInfo > const &connections) |
void | update_subscribers () |
Static Private Member Functions | |
static void | register_monitorable_node (std::shared_ptr< opmonlib::MonitorableObject > conn, std::shared_ptr< opmonlib::OpMonLink > link, const std::string &name, bool is_pubsub) |
Private Attributes | |
std::unordered_map< ConnectionId, const confmodel::NetworkConnection * > | m_preconfigured_connections |
std::unordered_map< ConnectionId, std::shared_ptr< ipm::Receiver > > | m_receiver_plugins |
std::unordered_map< ConnectionId, std::shared_ptr< ipm::Sender > > | m_sender_plugins |
std::shared_ptr< dunedaq::opmonlib::OpMonLink > | m_sender_opmon_link { std::make_shared<dunedaq::opmonlib::OpMonLink>() } |
std::shared_ptr< dunedaq::opmonlib::OpMonLink > | m_receiver_opmon_link |
std::unordered_map< ConnectionId, std::shared_ptr< ipm::Subscriber > > | m_subscriber_plugins |
std::unique_ptr< std::thread > | m_subscriber_update_thread |
std::atomic< bool > | m_subscriber_update_thread_running { false } |
std::unique_ptr< ConfigClient > | m_config_client |
std::chrono::milliseconds | m_config_client_interval { 1000 } |
std::mutex | m_receiver_plugin_map_mutex |
std::mutex | m_sender_plugin_map_mutex |
std::mutex | m_subscriber_plugin_map_mutex |
Static Private Attributes | |
static std::unique_ptr< NetworkManager > | s_instance = nullptr |
Definition at line 38 of file NetworkManager.hpp.
|
inline |
Definition at line 43 of file NetworkManager.hpp.
|
privatedefault |
|
privatedelete |
|
privatedelete |
void dunedaq::iomanager::NetworkManager::configure | ( | const std::string & | session_name, |
const std::vector< const confmodel::NetworkConnection * > & | connections, | ||
const confmodel::ConnectivityService * | conn_svc, | ||
dunedaq::opmonlib::OpMonManager & | opmgr ) |
Definition at line 41 of file NetworkManager.cpp.
|
private |
Definition at line 289 of file NetworkManager.cpp.
|
private |
Definition at line 359 of file NetworkManager.cpp.
|
static |
Definition at line 32 of file NetworkManager.cpp.
ConnectionResponse dunedaq::iomanager::NetworkManager::get_connections | ( | ConnectionId const & | conn_id, |
bool | restrict_single = false ) const |
Definition at line 211 of file NetworkManager.cpp.
std::set< std::string > dunedaq::iomanager::NetworkManager::get_datatypes | ( | std::string const & | uid | ) | const |
Definition at line 262 of file NetworkManager.cpp.
ConnectionResponse dunedaq::iomanager::NetworkManager::get_preconfigured_connections | ( | ConnectionId const & | conn_id | ) | const |
Definition at line 249 of file NetworkManager.cpp.
|
private |
Definition at line 274 of file NetworkManager.cpp.
std::shared_ptr< ipm::Receiver > dunedaq::iomanager::NetworkManager::get_receiver | ( | ConnectionId const & | conn_id | ) |
Definition at line 151 of file NetworkManager.cpp.
std::shared_ptr< ipm::Sender > dunedaq::iomanager::NetworkManager::get_sender | ( | ConnectionId const & | conn_id | ) |
Definition at line 170 of file NetworkManager.cpp.
bool dunedaq::iomanager::NetworkManager::is_pubsub_connection | ( | ConnectionId const & | conn_id | ) | const |
Definition at line 201 of file NetworkManager.cpp.
|
privatedelete |
|
privatedelete |
|
staticprivate |
Definition at line 431 of file NetworkManager.cpp.
void dunedaq::iomanager::NetworkManager::remove_sender | ( | ConnectionId const & | conn_id | ) |
Definition at line 192 of file NetworkManager.cpp.
void dunedaq::iomanager::NetworkManager::reset | ( | ) |
Definition at line 84 of file NetworkManager.cpp.
void dunedaq::iomanager::NetworkManager::shutdown | ( | ) |
Definition at line 120 of file NetworkManager.cpp.
|
private |
Definition at line 403 of file NetworkManager.cpp.
|
private |
Definition at line 97 of file NetworkManager.hpp.
|
private |
Definition at line 98 of file NetworkManager.hpp.
|
private |
Definition at line 81 of file NetworkManager.hpp.
|
private |
Definition at line 85 of file NetworkManager.hpp.
|
mutableprivate |
Definition at line 100 of file NetworkManager.hpp.
|
private |
Definition at line 82 of file NetworkManager.hpp.
|
private |
Definition at line 84 of file NetworkManager.hpp.
|
mutableprivate |
Definition at line 101 of file NetworkManager.hpp.
|
private |
Definition at line 83 of file NetworkManager.hpp.
|
mutableprivate |
Definition at line 102 of file NetworkManager.hpp.
|
private |
Definition at line 93 of file NetworkManager.hpp.
|
private |
Definition at line 94 of file NetworkManager.hpp.
|
private |
Definition at line 95 of file NetworkManager.hpp.
|
staticprivate |
Definition at line 66 of file NetworkManager.hpp.