116 const std::vector<uint8_t>& data)>;
120 const std::string& error)>;
162 [[nodiscard]] auto
get_name() const -> std::
string override;
Job for processing DIMSE messages.
~dimse_process_job() override=default
std::function< void(uint64_t session_id, const std::string &error)> error_callback
Callback type for processing errors.
association_callback on_association_
auto get_name() const -> std::string override
Get the job name.
request_callback on_request_
std::function< void(uint64_t session_id, kcenon::pacs::network::pdu_type type, const std::vector< uint8_t > &data)> association_callback
Callback type for association handling.
dimse_process_job(const dimse_process_job &)=delete
auto process_association_pdu() -> VoidResult
Process association PDUs (A-ASSOCIATE, A-RELEASE, A-ABORT)
dimse_process_job & operator=(const dimse_process_job &)=delete
auto get_context() const noexcept -> const job_context &override
Get the job context.
auto get_pdu() const noexcept -> const decoded_pdu &
Get the decoded PDU.
dimse_process_job(decoded_pdu pdu, request_callback on_request=nullptr, association_callback on_association=nullptr, error_callback on_error=nullptr)
Construct a DIMSE process job from decoded PDU.
auto process_p_data() -> Result< dimse_request >
Process P-DATA-TF PDU.
dimse_process_job(dimse_process_job &&)=default
dimse_process_job & operator=(dimse_process_job &&)=default
auto execute(pipeline_coordinator &coordinator) -> VoidResult override
Execute the DIMSE process job.
std::function< void(const dimse_request &request)> request_callback
Callback type for processed request.
Coordinates the 6-stage DICOM I/O pipeline.
Base class for all pipeline jobs.
dimse_command_type
DICOM DIMSE command types.
pdu_type
PDU (Protocol Data Unit) types as defined in DICOM PS3.8.
std::variant< associate_rq, associate_ac, associate_rj, p_data_tf_pdu, release_rq_pdu, release_rp_pdu, abort_pdu > pdu
Variant type that can hold any PDU.
kcenon::pacs::VoidResult VoidResult
VoidResult type alias for operations without return value.
PDU decoding job for Stage 2 of the pipeline.
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.
Result of PDU decoding containing the PDU type and data.
Parsed DIMSE request for service execution.
uint64_t session_id
Session ID.
uint16_t priority
Priority (0=medium, 1=high, 2=low)
uint8_t presentation_context_id
Presentation context ID.
dimse_command_type command_type
The DIMSE command type.
std::vector< uint8_t > command_data
Command data set (serialized)
std::string sop_instance_uid
Affected/Requested SOP Instance UID.
uint16_t message_id
Message ID for correlation.
std::string sop_class_uid
Affected/Requested SOP Class UID.
std::vector< uint8_t > data_set
Data set (if present)
Context information attached to pipeline jobs for tracking.