|
PACS System 0.1.0
PACS DICOM system library
|
Implementation of AI service connector. More...
#include <kcenon/pacs/ai/ai_service_connector.h>#include <kcenon/pacs/integration/logger_adapter.h>#include <kcenon/pacs/integration/monitoring_adapter.h>#include <arpa/inet.h>#include <netdb.h>#include <sys/socket.h>#include <sys/types.h>#include <unistd.h>#include <atomic>#include <chrono>#include <condition_variable>#include <iomanip>#include <mutex>#include <queue>#include <shared_mutex>#include <sstream>#include <thread>#include <unordered_map>
Go to the source code of this file.
Classes | |
| struct | http_response |
| Simple HTTP response structure. More... | |
| class | socket_handle |
| RAII wrapper for platform socket handle. More... | |
| struct | parsed_url |
| Parse URL into host, port, and path components. More... | |
| class | http_client |
| HTTP client for AI service communication. More... | |
| class | job_tracker |
| Tracks active inference jobs. More... | |
| class | ai_service_connector::impl |
Namespaces | |
| namespace | kcenon |
| namespace | kcenon::pacs |
| namespace | kcenon::pacs::ai |
| namespace | kcenon::pacs::ai::metrics |
| namespace | kcenon::pacs::ai::json_util |
Functions | |
| std::string | kcenon::pacs::ai::json_util::escape_string (std::string_view str) |
| Escape special characters in JSON string. | |
| std::string | kcenon::pacs::ai::json_util::to_iso8601 (std::chrono::system_clock::time_point tp) |
| Convert time_point to ISO 8601 string. | |
| std::optional< std::chrono::system_clock::time_point > | kcenon::pacs::ai::json_util::from_iso8601 (const std::string &str) |
| Parse ISO 8601 string to time_point. | |
| std::optional< std::string > | kcenon::pacs::ai::json_util::extract_string (const std::string &json, const std::string &key) |
| Simple JSON value extractor (for basic parsing) | |
| std::optional< int > | kcenon::pacs::ai::json_util::extract_int (const std::string &json, const std::string &key) |
| Simple JSON integer extractor. | |
| std::string | kcenon::pacs::ai::json_util::build_request_json (const inference_request &request) |
| Build inference request JSON. | |
| kcenon::pacs::ai::if (!request.parameters.empty()) | |
| kcenon::pacs::ai::if (!request.metadata.empty()) | |
| std::optional< inference_status > | parse_status_json (const std::string &json) |
| Parse inference status from JSON response. | |
| std::optional< model_info > | parse_model_json (const std::string &json) |
| Parse model info from JSON. | |
| std::string | base64_encode (std::string_view input) |
| Encode data to Base64. | |
| std::vector< std::string > | extract_json_array_objects (const std::string &json) |
| Extract JSON objects from a JSON array string. | |
Variables | |
| constexpr const char * | kcenon::pacs::ai::metrics::inference_requests_total = "pacs_ai_inference_requests_total" |
| constexpr const char * | kcenon::pacs::ai::metrics::inference_requests_success = "pacs_ai_inference_requests_success" |
| constexpr const char * | kcenon::pacs::ai::metrics::inference_requests_failed = "pacs_ai_inference_requests_failed" |
| constexpr const char * | kcenon::pacs::ai::metrics::inference_duration = "pacs_ai_inference_duration_seconds" |
| constexpr const char * | kcenon::pacs::ai::metrics::active_jobs = "pacs_ai_active_jobs" |
Implementation of AI service connector.
Definition in file ai_service_connector.cpp.
|
inlinenodiscard |
Encode data to Base64.
Definition at line 364 of file ai_service_connector.cpp.
|
inlinenodiscard |
Extract JSON objects from a JSON array string.
Definition at line 393 of file ai_service_connector.cpp.
|
inlinenodiscard |
Parse model info from JSON.
Definition at line 333 of file ai_service_connector.cpp.
References kcenon::pacs::ai::json_util::extract_string(), and name.

|
inlinenodiscard |
Parse inference status from JSON response.
Definition at line 261 of file ai_service_connector.cpp.
References kcenon::pacs::ai::cancelled, kcenon::pacs::ai::completed, kcenon::pacs::ai::json_util::extract_int(), kcenon::pacs::ai::json_util::extract_string(), kcenon::pacs::ai::failed, kcenon::pacs::ai::json_util::from_iso8601(), kcenon::pacs::ai::pending, kcenon::pacs::ai::running, and kcenon::pacs::ai::timeout.
