71 default:
return "unknown";
163 std::optional<tls_config>
tls;
204 return tls.has_value() &&
tls->is_configured();
211 return host +
":" + std::to_string(
port);
node_status
Status of a remote PACS node.
@ verifying
Verification in progress.
@ offline
Node is not responding.
@ online
Node is responding to C-ECHO.
@ unknown
Status not yet determined.
@ error
Node returned an error.
node_status node_status_from_string(std::string_view str) noexcept
Parse node_status from string.
constexpr const char * to_string(job_type type) noexcept
Convert job_type to string representation.
std::function< void(std::string_view node_id, node_status status)> node_status_callback
Callback function type for node status changes.
Configuration for the remote node manager.
size_t max_pool_connections_per_node
Maximum pooled connections per node.
std::string local_ae_title
Our AE Title for outgoing associations.
std::chrono::seconds health_check_interval
Interval between automatic health checks.
bool auto_start_health_check
Start health check automatically on construction.
std::chrono::seconds pool_connection_ttl
Time-to-live for pooled connections.
Statistics for a remote node.
std::chrono::milliseconds max_response_time
Maximum response time.
size_t active_connections
Currently active connections.
size_t total_connections
Total connections made.
size_t successful_operations
Successful DIMSE operations.
std::chrono::milliseconds min_response_time
Minimum response time.
std::chrono::milliseconds avg_response_time
Average response time.
std::chrono::system_clock::time_point last_activity
Last activity time.
size_t failed_operations
Failed DIMSE operations.
bool supports_store
C-STORE support (Send)
std::chrono::system_clock::time_point updated_at
Last update timestamp.
bool is_online() const noexcept
Check if node is currently reachable.
int64_t pk
Primary key (0 if not persisted)
node_status status
Current connectivity status.
std::optional< tls_config > tls
TLS configuration (if secure)
std::string ae_title
DICOM Application Entity Title.
std::string name
Human-readable display name.
uint16_t port
DICOM port (default: 104)
std::chrono::system_clock::time_point last_verified
Last successful verification.
std::string node_id
Unique identifier for this node.
bool supports_move
C-MOVE support (Retrieve)
std::chrono::system_clock::time_point last_error
Last error time.
size_t max_associations
Max concurrent associations.
bool supports_worklist
Modality Worklist support.
std::string last_error_message
Last error description.
bool supports_get
C-GET support (alternative retrieve)
std::string address() const
Get connection address string (host:port)
bool supports_find
C-FIND support (Query)
bool supports_query_retrieve() const noexcept
Check if node supports any query/retrieve operation.
bool has_tls() const noexcept
Check if TLS is enabled for this node.
std::chrono::seconds dimse_timeout
DIMSE operation timeout.
std::chrono::system_clock::time_point created_at
Creation timestamp.
std::string host
IP address or hostname.
std::chrono::seconds connection_timeout
TCP connection timeout.
TLS configuration for secure DICOM connections.
std::string ca_path
Path to CA certificate.
bool is_configured() const noexcept
Check if TLS is configured.
std::string cert_path
Path to client certificate.
std::string key_path
Path to private key.