PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::client::remote_node Struct Reference

#include <remote_node.h>

Collaboration diagram for kcenon::pacs::client::remote_node:
Collaboration graph

Public Member Functions

bool supports_query_retrieve () const noexcept
 Check if node supports any query/retrieve operation.
 
bool is_online () const noexcept
 Check if node is currently reachable.
 
bool has_tls () const noexcept
 Check if TLS is enabled for this node.
 
std::string address () const
 Get connection address string (host:port)
 

Public Attributes

std::string node_id
 Unique identifier for this node.
 
std::string name
 Human-readable display name.
 
std::string ae_title
 DICOM Application Entity Title.
 
std::string host
 IP address or hostname.
 
uint16_t port {104}
 DICOM port (default: 104)
 
bool supports_find {true}
 C-FIND support (Query)
 
bool supports_move {true}
 C-MOVE support (Retrieve)
 
bool supports_get {false}
 C-GET support (alternative retrieve)
 
bool supports_store {true}
 C-STORE support (Send)
 
bool supports_worklist {false}
 Modality Worklist support.
 
std::chrono::seconds connection_timeout {30}
 TCP connection timeout.
 
std::chrono::seconds dimse_timeout {60}
 DIMSE operation timeout.
 
size_t max_associations {4}
 Max concurrent associations.
 
std::optional< tls_configtls
 TLS configuration (if secure)
 
node_status status {node_status::unknown}
 Current connectivity status.
 
std::chrono::system_clock::time_point last_verified
 Last successful verification.
 
std::chrono::system_clock::time_point last_error
 Last error time.
 
std::string last_error_message
 Last error description.
 
int64_t pk {0}
 Primary key (0 if not persisted)
 
std::chrono::system_clock::time_point created_at
 Creation timestamp.
 
std::chrono::system_clock::time_point updated_at
 Last update timestamp.
 

Detailed Description

Definition at line 130 of file remote_node.h.

Member Function Documentation

◆ address()

std::string kcenon::pacs::client::remote_node::address ( ) const
inlinenodiscard

Get connection address string (host:port)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/client/remote_node.h.

Definition at line 210 of file remote_node.h.

210 {
211 return host + ":" + std::to_string(port);
212 }
uint16_t port
DICOM port (default: 104)
std::string host
IP address or hostname.

References host, and port.

◆ has_tls()

bool kcenon::pacs::client::remote_node::has_tls ( ) const
inlinenodiscardnoexcept

Check if TLS is enabled for this node.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/client/remote_node.h.

Definition at line 203 of file remote_node.h.

203 {
204 return tls.has_value() && tls->is_configured();
205 }
std::optional< tls_config > tls
TLS configuration (if secure)

References tls.

◆ is_online()

bool kcenon::pacs::client::remote_node::is_online ( ) const
inlinenodiscardnoexcept

Check if node is currently reachable.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/client/remote_node.h.

Definition at line 196 of file remote_node.h.

196 {
197 return status == node_status::online;
198 }
@ online
Node is responding to C-ECHO.
node_status status
Current connectivity status.

References kcenon::pacs::client::online, and status.

◆ supports_query_retrieve()

bool kcenon::pacs::client::remote_node::supports_query_retrieve ( ) const
inlinenodiscardnoexcept

Check if node supports any query/retrieve operation.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/client/remote_node.h.

Definition at line 189 of file remote_node.h.

189 {
191 }
bool supports_move
C-MOVE support (Retrieve)
bool supports_get
C-GET support (alternative retrieve)
bool supports_find
C-FIND support (Query)

References supports_find, supports_get, and supports_move.

Member Data Documentation

◆ ae_title

◆ connection_timeout

std::chrono::seconds kcenon::pacs::client::remote_node::connection_timeout {30}

◆ created_at

std::chrono::system_clock::time_point kcenon::pacs::client::remote_node::created_at

◆ dimse_timeout

std::chrono::seconds kcenon::pacs::client::remote_node::dimse_timeout {60}

◆ host

◆ last_error

std::chrono::system_clock::time_point kcenon::pacs::client::remote_node::last_error

◆ last_error_message

std::string kcenon::pacs::client::remote_node::last_error_message

◆ last_verified

std::chrono::system_clock::time_point kcenon::pacs::client::remote_node::last_verified

◆ max_associations

size_t kcenon::pacs::client::remote_node::max_associations {4}

◆ name

std::string kcenon::pacs::client::remote_node::name

◆ node_id

◆ pk

int64_t kcenon::pacs::client::remote_node::pk {0}

◆ port

◆ status

node_status kcenon::pacs::client::remote_node::status {node_status::unknown}

◆ supports_find

bool kcenon::pacs::client::remote_node::supports_find {true}

◆ supports_get

bool kcenon::pacs::client::remote_node::supports_get {false}

◆ supports_move

bool kcenon::pacs::client::remote_node::supports_move {true}

◆ supports_store

bool kcenon::pacs::client::remote_node::supports_store {true}

◆ supports_worklist

bool kcenon::pacs::client::remote_node::supports_worklist {false}

◆ tls

std::optional<tls_config> kcenon::pacs::client::remote_node::tls

TLS configuration (if secure)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/client/remote_node.h.

Definition at line 163 of file remote_node.h.

Referenced by has_tls().

◆ updated_at

std::chrono::system_clock::time_point kcenon::pacs::client::remote_node::updated_at

The documentation for this struct was generated from the following file: