|
PACS System 0.1.0
PACS DICOM system library
|

Classes | |
| struct | pooled_association |
Public Member Functions | |
| void | notify_status_change (std::string_view node_id, node_status status) |
| void | update_node_status (const std::string &node_id, node_status status, const std::string &error_msg="") |
| kcenon::pacs::VoidResult | perform_echo (const remote_node &node) |
| void | health_check_loop () |
| void | load_nodes_from_repo () |
Public Attributes | |
| std::shared_ptr< storage::node_repository > | repo |
| std::shared_ptr< di::ILogger > | logger |
| node_manager_config | config |
| node_status_callback | status_callback |
| std::mutex | callback_mutex |
| std::unordered_map< std::string, remote_node > | node_cache |
| std::mutex | cache_mutex |
| std::unordered_map< std::string, node_statistics > | statistics |
| std::mutex | stats_mutex |
| std::unordered_map< std::string, std::deque< pooled_association > > | connection_pool |
| std::mutex | pool_mutex |
| std::atomic< bool > | health_check_running {false} |
| std::thread | health_check_thread |
| std::condition_variable | health_check_cv |
| std::mutex | health_check_mutex |
Definition at line 47 of file remote_node_manager.cpp.
|
inline |
Definition at line 211 of file remote_node_manager.cpp.
References cache_mutex, config, health_check_cv, kcenon::pacs::client::node_manager_config::health_check_interval, health_check_mutex, health_check_running, node_cache, kcenon::pacs::client::offline, kcenon::pacs::client::online, perform_echo(), stats_mutex, update_node_status(), and kcenon::pacs::client::verifying.
Referenced by kcenon::pacs::client::remote_node_manager::start_health_check().


|
inline |
Definition at line 263 of file remote_node_manager.cpp.
References cache_mutex, node_cache, and repo.
Referenced by kcenon::pacs::client::remote_node_manager::remote_node_manager().

|
inline |
Definition at line 87 of file remote_node_manager.cpp.
References callback_mutex, and status_callback.
Referenced by update_node_status().

|
inline |
Definition at line 123 of file remote_node_manager.cpp.
References kcenon::pacs::client::remote_node::ae_title, config, kcenon::pacs::error_codes::connection_failed, kcenon::pacs::client::remote_node::connection_timeout, kcenon::pacs::error_codes::dimse_error, kcenon::pacs::client::remote_node::dimse_timeout, kcenon::pacs::client::remote_node::host, kcenon::pacs::client::node_manager_config::local_ae_title, kcenon::pacs::error_codes::no_acceptable_context, kcenon::pacs::client::remote_node::node_id, kcenon::pacs::pacs_void_error(), kcenon::pacs::client::remote_node::port, kcenon::pacs::error_codes::receive_failed, and kcenon::pacs::error_codes::send_failed.
Referenced by health_check_loop(), and kcenon::pacs::client::remote_node_manager::verify_node().


|
inline |
Definition at line 94 of file remote_node_manager.cpp.
References cache_mutex, kcenon::pacs::client::error, node_cache, notify_status_change(), kcenon::pacs::client::offline, kcenon::pacs::client::online, and repo.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), health_check_loop(), and kcenon::pacs::client::remote_node_manager::verify_node().


|
mutable |
Definition at line 63 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::add_node(), kcenon::pacs::client::remote_node_manager::get_node(), kcenon::pacs::client::remote_node_manager::get_status(), health_check_loop(), kcenon::pacs::client::remote_node_manager::list_nodes(), kcenon::pacs::client::remote_node_manager::list_nodes_by_status(), load_nodes_from_repo(), kcenon::pacs::client::remote_node_manager::remove_node(), kcenon::pacs::client::remote_node_manager::update_node(), update_node_status(), kcenon::pacs::client::remote_node_manager::verify_all_nodes_async(), and kcenon::pacs::client::remote_node_manager::verify_node().
| std::mutex kcenon::pacs::client::remote_node_manager::impl::callback_mutex |
Definition at line 59 of file remote_node_manager.cpp.
Referenced by notify_status_change(), and kcenon::pacs::client::remote_node_manager::set_status_callback().
| node_manager_config kcenon::pacs::client::remote_node_manager::impl::config |
Definition at line 55 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::config(), health_check_loop(), perform_echo(), kcenon::pacs::client::remote_node_manager::release_association(), kcenon::pacs::client::remote_node_manager::remote_node_manager(), and kcenon::pacs::client::remote_node_manager::set_config().
| std::unordered_map<std::string, std::deque<pooled_association> > kcenon::pacs::client::remote_node_manager::impl::connection_pool |
Definition at line 74 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::release_association(), kcenon::pacs::client::remote_node_manager::remove_node(), and kcenon::pacs::client::remote_node_manager::~remote_node_manager().
| std::condition_variable kcenon::pacs::client::remote_node_manager::impl::health_check_cv |
Definition at line 80 of file remote_node_manager.cpp.
Referenced by health_check_loop(), and kcenon::pacs::client::remote_node_manager::stop_health_check().
| std::mutex kcenon::pacs::client::remote_node_manager::impl::health_check_mutex |
Definition at line 81 of file remote_node_manager.cpp.
Referenced by health_check_loop().
| std::atomic<bool> kcenon::pacs::client::remote_node_manager::impl::health_check_running {false} |
Definition at line 78 of file remote_node_manager.cpp.
Referenced by health_check_loop(), kcenon::pacs::client::remote_node_manager::is_health_check_running(), kcenon::pacs::client::remote_node_manager::start_health_check(), and kcenon::pacs::client::remote_node_manager::stop_health_check().
| std::thread kcenon::pacs::client::remote_node_manager::impl::health_check_thread |
Definition at line 79 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::start_health_check(), and kcenon::pacs::client::remote_node_manager::stop_health_check().
| std::shared_ptr<di::ILogger> kcenon::pacs::client::remote_node_manager::impl::logger |
Definition at line 52 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::add_node(), kcenon::pacs::client::remote_node_manager::release_association(), kcenon::pacs::client::remote_node_manager::remote_node_manager(), kcenon::pacs::client::remote_node_manager::remove_node(), kcenon::pacs::client::remote_node_manager::start_health_check(), kcenon::pacs::client::remote_node_manager::stop_health_check(), and kcenon::pacs::client::remote_node_manager::update_node().
| std::unordered_map<std::string, remote_node> kcenon::pacs::client::remote_node_manager::impl::node_cache |
Definition at line 62 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::add_node(), kcenon::pacs::client::remote_node_manager::get_node(), kcenon::pacs::client::remote_node_manager::get_status(), health_check_loop(), kcenon::pacs::client::remote_node_manager::list_nodes(), kcenon::pacs::client::remote_node_manager::list_nodes_by_status(), load_nodes_from_repo(), kcenon::pacs::client::remote_node_manager::remove_node(), kcenon::pacs::client::remote_node_manager::update_node(), update_node_status(), kcenon::pacs::client::remote_node_manager::verify_all_nodes_async(), and kcenon::pacs::client::remote_node_manager::verify_node().
|
mutable |
Definition at line 75 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::release_association(), kcenon::pacs::client::remote_node_manager::remove_node(), and kcenon::pacs::client::remote_node_manager::~remote_node_manager().
| std::shared_ptr<storage::node_repository> kcenon::pacs::client::remote_node_manager::impl::repo |
Definition at line 49 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::add_node(), load_nodes_from_repo(), kcenon::pacs::client::remote_node_manager::remote_node_manager(), kcenon::pacs::client::remote_node_manager::remove_node(), kcenon::pacs::client::remote_node_manager::update_node(), update_node_status(), and kcenon::pacs::client::remote_node_manager::verify_node().
| std::unordered_map<std::string, node_statistics> kcenon::pacs::client::remote_node_manager::impl::statistics |
Definition at line 66 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::get_statistics(), kcenon::pacs::client::remote_node_manager::release_association(), kcenon::pacs::client::remote_node_manager::remove_node(), and kcenon::pacs::client::remote_node_manager::reset_statistics().
|
mutable |
Definition at line 67 of file remote_node_manager.cpp.
Referenced by kcenon::pacs::client::remote_node_manager::acquire_association(), kcenon::pacs::client::remote_node_manager::get_statistics(), health_check_loop(), kcenon::pacs::client::remote_node_manager::release_association(), kcenon::pacs::client::remote_node_manager::remove_node(), and kcenon::pacs::client::remote_node_manager::reset_statistics().
| node_status_callback kcenon::pacs::client::remote_node_manager::impl::status_callback |
Definition at line 58 of file remote_node_manager.cpp.
Referenced by notify_status_change(), and kcenon::pacs::client::remote_node_manager::set_status_callback().