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 37 of file NetworkManager.hpp.
|
inline |
Definition at line 42 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 40 of file NetworkManager.cpp.
|
private |
Definition at line 288 of file NetworkManager.cpp.
|
private |
Definition at line 358 of file NetworkManager.cpp.
|
static |
Definition at line 31 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 150 of file NetworkManager.cpp.
std::shared_ptr< ipm::Sender > dunedaq::iomanager::NetworkManager::get_sender | ( | ConnectionId const & | conn_id | ) |
Definition at line 169 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 429 of file NetworkManager.cpp.
void dunedaq::iomanager::NetworkManager::remove_sender | ( | ConnectionId const & | conn_id | ) |
Definition at line 191 of file NetworkManager.cpp.
void dunedaq::iomanager::NetworkManager::reset | ( | ) |
Definition at line 83 of file NetworkManager.cpp.
void dunedaq::iomanager::NetworkManager::shutdown | ( | ) |
Definition at line 119 of file NetworkManager.cpp.
|
private |
Definition at line 401 of file NetworkManager.cpp.
|
private |
Definition at line 94 of file NetworkManager.hpp.
|
private |
Definition at line 95 of file NetworkManager.hpp.
|
private |
Definition at line 78 of file NetworkManager.hpp.
|
private |
Definition at line 82 of file NetworkManager.hpp.
|
mutableprivate |
Definition at line 97 of file NetworkManager.hpp.
|
private |
Definition at line 79 of file NetworkManager.hpp.
|
private |
Definition at line 81 of file NetworkManager.hpp.
|
mutableprivate |
Definition at line 98 of file NetworkManager.hpp.
|
private |
Definition at line 80 of file NetworkManager.hpp.
|
mutableprivate |
Definition at line 99 of file NetworkManager.hpp.
|
private |
Definition at line 90 of file NetworkManager.hpp.
|
private |
Definition at line 91 of file NetworkManager.hpp.
|
private |
Definition at line 92 of file NetworkManager.hpp.
|
staticprivate |
Definition at line 63 of file NetworkManager.hpp.