|
PACS System 0.1.0
PACS DICOM system library
|
Classes | |
| struct | category_metrics |
| Metrics for a job category (e.g., C-STORE, C-FIND) More... | |
| struct | decoded_pdu |
| Result of PDU decoding containing the PDU type and data. More... | |
| class | dimse_process_job |
| Job for processing DIMSE messages. More... | |
| struct | dimse_request |
| Parsed DIMSE request for service execution. More... | |
| struct | encoded_response |
| Encoded PDU ready for network transmission. More... | |
| struct | job_context |
| Context information attached to pipeline jobs for tracking. More... | |
| class | pdu_decode_job |
| Job for decoding raw PDU bytes. More... | |
| class | pipeline_adapter |
| Adapter for integrating pipeline with DICOM server components. More... | |
| struct | pipeline_config |
| Configuration options for the pipeline coordinator. More... | |
| class | pipeline_coordinator |
| Coordinates the 6-stage DICOM I/O pipeline. More... | |
| class | pipeline_job_base |
| Base class for all pipeline jobs. More... | |
| class | pipeline_metrics |
| Centralized metrics collection for the entire pipeline. More... | |
| class | receive_network_io_job |
| Job for receiving PDU data from network connections. More... | |
| class | response_encode_job |
| Job for encoding DIMSE responses into PDU bytes. More... | |
| class | send_network_io_job |
| Job for sending PDU data over network connections. More... | |
| struct | service_result |
| Result from service execution. More... | |
| struct | session_context |
| Context for a DICOM association session. More... | |
| struct | stage_metrics |
| Metrics for a single pipeline stage. More... | |
| class | storage_query_exec_job |
| Job for executing storage and query operations. More... | |
Enumerations | |
| enum class | dimse_command_type : uint16_t { c_store_rq = 0x0001 , c_store_rsp = 0x8001 , c_get_rq = 0x0010 , c_get_rsp = 0x8010 , c_find_rq = 0x0020 , c_find_rsp = 0x8020 , c_move_rq = 0x0021 , c_move_rsp = 0x8021 , c_echo_rq = 0x0030 , c_echo_rsp = 0x8030 , n_event_report_rq = 0x0100 , n_event_report_rsp = 0x8100 , n_get_rq = 0x0110 , n_get_rsp = 0x8110 , n_set_rq = 0x0120 , n_set_rsp = 0x8120 , n_action_rq = 0x0130 , n_action_rsp = 0x8130 , n_create_rq = 0x0140 , n_create_rsp = 0x8140 , n_delete_rq = 0x0150 , n_delete_rsp = 0x8150 , c_cancel_rq = 0x0FFF } |
| DICOM DIMSE command types. More... | |
| enum class | dimse_status : uint16_t { success = 0x0000 , pending = 0xFF00 , pending_warning = 0xFF01 , cancel = 0xFE00 , warning_attribute_list_error = 0xB000 , warning_attribute_value_out_of_range = 0xB006 , failure_refused_out_of_resources = 0xA700 , failure_refused_sop_class_not_supported = 0x0122 , failure_invalid_sop_instance = 0x0117 , failure_unable_to_process = 0xC000 , failure_more_than_one_match = 0xC100 , failure_unable_to_perform = 0xC200 } |
| DICOM DIMSE status codes. More... | |
| enum class | pipeline_stage : uint8_t { network_receive = 0 , pdu_decode = 1 , dimse_process = 2 , storage_query_exec = 3 , response_encode = 4 , network_send = 5 , stage_count = 6 } |
| Identifies the 6 stages of the DICOM I/O pipeline. More... | |
| enum class | job_category : uint8_t { echo = 0 , store = 1 , find = 2 , get = 3 , move = 4 , association = 5 , control = 6 , other = 7 } |
| Categories for pipeline jobs used in metrics and monitoring. More... | |
Functions | |
| constexpr auto | get_stage_name (pipeline_stage stage) noexcept -> std::string_view |
| Get the human-readable name of a pipeline stage. | |
| constexpr auto | is_blocking_stage (pipeline_stage stage) noexcept -> bool |
| Check if a stage allows blocking operations. | |
| constexpr auto | is_network_io_stage (pipeline_stage stage) noexcept -> bool |
| Check if a stage handles network I/O. | |
| constexpr auto | get_category_name (job_category category) noexcept -> std::string_view |
| Get the human-readable name of a job category. | |
|
strong |
DICOM DIMSE command types.
Definition at line 36 of file dimse_process_job.h.
|
strong |
DICOM DIMSE status codes.
Definition at line 36 of file storage_query_exec_job.h.
|
strong |
Categories for pipeline jobs used in metrics and monitoring.
Definition at line 122 of file pipeline_job_types.h.
|
strong |
Identifies the 6 stages of the DICOM I/O pipeline.
Each stage has dedicated worker threads optimized for its workload:
Definition at line 49 of file pipeline_job_types.h.
|
nodiscardconstexprnoexcept |
Get the human-readable name of a job category.
| category | The job category |
Definition at line 153 of file pipeline_job_types.h.
References association, control, echo, find, get, move, and store.
|
nodiscardconstexprnoexcept |
Get the human-readable name of a pipeline stage.
| stage | The pipeline stage |
Definition at line 77 of file pipeline_job_types.h.
References dimse_process, network_receive, network_send, pdu_decode, response_encode, and storage_query_exec.
Referenced by kcenon::pacs::network::pipeline::pipeline_coordinator::create_stage_pool(), kcenon::pacs::network::pipeline::pipeline_adapter::on_backpressure(), and kcenon::pacs::network::pipeline::pipeline_coordinator::start().

|
nodiscardconstexprnoexcept |
Check if a stage allows blocking operations.
| stage | The pipeline stage |
Definition at line 102 of file pipeline_job_types.h.
References storage_query_exec.
|
nodiscardconstexprnoexcept |
Check if a stage handles network I/O.
| stage | The pipeline stage |
Definition at line 112 of file pipeline_job_types.h.
References network_receive, and network_send.