119 const std::string& error)>;
161 [[nodiscard]] auto
get_name() const -> std::
string override;
Coordinates the 6-stage DICOM I/O pipeline.
Base class for all pipeline jobs.
Job for executing storage and query operations.
storage_query_exec_job & operator=(storage_query_exec_job &&)=default
storage_query_exec_job(dimse_request request, service_handler handler, completion_callback on_complete=nullptr, error_callback on_error=nullptr)
Construct an execution job.
completion_callback on_complete_
auto get_name() const -> std::string override
Get the job name.
static auto get_category_for_command(dimse_command_type type) -> job_category
Determine job category from command type.
std::function< Result< service_result >(const dimse_request &)> service_handler
Service handler function type.
storage_query_exec_job & operator=(const storage_query_exec_job &)=delete
~storage_query_exec_job() override=default
auto get_request() const noexcept -> const dimse_request &
Get the DIMSE request.
storage_query_exec_job(storage_query_exec_job &&)=default
auto get_context() const noexcept -> const job_context &override
Get the job context.
std::function< void(const service_result &result)> completion_callback
Callback type for execution completion.
auto execute(pipeline_coordinator &coordinator) -> VoidResult override
Execute the storage/query operation.
std::function< void(uint64_t session_id, const std::string &error)> error_callback
Callback type for execution errors.
storage_query_exec_job(const storage_query_exec_job &)=delete
DIMSE processing job for Stage 3 of the pipeline.
job_category
Categories for pipeline jobs used in metrics and monitoring.
dimse_status
DICOM DIMSE status codes.
@ failure_refused_out_of_resources
@ failure_more_than_one_match
@ failure_unable_to_process
@ warning_attribute_value_out_of_range
@ failure_unable_to_perform
@ warning_attribute_list_error
@ failure_refused_sop_class_not_supported
@ failure_invalid_sop_instance
dimse_command_type
DICOM DIMSE command types.
kcenon::pacs::VoidResult VoidResult
VoidResult type alias for operations without return value.
Main coordinator for the 6-stage DICOM I/O pipeline.
Job type definitions for the 6-stage DICOM I/O pipeline.
Result<T> type aliases and helpers for PACS system.
Parsed DIMSE request for service execution.
Context information attached to pipeline jobs for tracking.
Result from service execution.
uint16_t failed_sub_ops
Number of failed sub-operations.
std::vector< uint8_t > data_set
Response data set (if any)
uint8_t presentation_context_id
Presentation context ID.
uint16_t message_id
Message ID for correlation.
dimse_status status
DIMSE status code.
std::string error_comment
Error comment (if any)
uint16_t remaining_sub_ops
Number of remaining sub-operations (for C-GET/C-MOVE)
uint16_t warning_sub_ops
Number of warning sub-operations.
uint64_t session_id
Session ID for routing response.
uint16_t completed_sub_ops
Number of completed sub-operations.
dimse_command_type response_type
Response command type.
std::string sop_class_uid
SOP Class UID (echoed back)
std::string sop_instance_uid
SOP Instance UID (echoed back)