|
PACS System 0.1.0
PACS DICOM system library
|
Job for processing DIMSE messages. More...
#include <dimse_process_job.h>


Public Types | |
| using | request_callback = std::function<void(const dimse_request& request)> |
| Callback type for processed request. | |
| using | association_callback |
| Callback type for association handling. | |
| using | error_callback |
| Callback type for processing errors. | |
Public Member Functions | |
| 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. | |
| ~dimse_process_job () override=default | |
| dimse_process_job (const dimse_process_job &)=delete | |
| dimse_process_job & | operator= (const dimse_process_job &)=delete |
| 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. | |
| auto | get_context () const noexcept -> const job_context &override |
| Get the job context. | |
| auto | get_context () noexcept -> job_context &override |
| Get the job context (mutable) | |
| auto | get_name () const -> std::string override |
| Get the job name. | |
| auto | get_pdu () const noexcept -> const decoded_pdu & |
| Get the decoded PDU. | |
Public Member Functions inherited from kcenon::pacs::network::pipeline::pipeline_job_base | |
| virtual | ~pipeline_job_base ()=default |
| Virtual destructor. | |
Private Member Functions | |
| auto | process_p_data () -> Result< dimse_request > |
| Process P-DATA-TF PDU. | |
| auto | process_association_pdu () -> VoidResult |
| Process association PDUs (A-ASSOCIATE, A-RELEASE, A-ABORT) | |
Private Attributes | |
| job_context | context_ |
| decoded_pdu | pdu_ |
| request_callback | on_request_ |
| association_callback | on_association_ |
| error_callback | on_error_ |
Additional Inherited Members | |
Protected Member Functions inherited from kcenon::pacs::network::pipeline::pipeline_job_base | |
| pipeline_job_base ()=default | |
| pipeline_job_base (const pipeline_job_base &)=delete | |
| pipeline_job_base & | operator= (const pipeline_job_base &)=delete |
| pipeline_job_base (pipeline_job_base &&)=default | |
| pipeline_job_base & | operator= (pipeline_job_base &&)=default |
Job for processing DIMSE messages.
Stage 3 of the pipeline. Processes DIMSE messages and routes them to the storage/query execution stage.
Definition at line 108 of file dimse_process_job.h.
Callback type for association handling.
Definition at line 114 of file dimse_process_job.h.
Callback type for processing errors.
Definition at line 119 of file dimse_process_job.h.
| using kcenon::pacs::network::pipeline::dimse_process_job::request_callback = std::function<void(const dimse_request& request)> |
Callback type for processed request.
Definition at line 111 of file dimse_process_job.h.
| kcenon::pacs::network::pipeline::dimse_process_job::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.
| pdu | The decoded PDU to process |
| on_request | Callback for DIMSE requests |
| on_association | Callback for association messages |
| on_error | Callback for errors |
Definition at line 20 of file dimse_process_job.cpp.
References kcenon::pacs::network::pipeline::job_context::category, context_, kcenon::pacs::network::pipeline::dimse_process, kcenon::pacs::network::pipeline::job_context::enqueue_time_ns, kcenon::pacs::network::pipeline::other, pdu_, kcenon::pacs::network::pipeline::decoded_pdu::session_id, kcenon::pacs::network::pipeline::job_context::session_id, and kcenon::pacs::network::pipeline::job_context::stage.
|
overridedefault |
|
delete |
|
default |
|
nodiscardoverridevirtual |
Execute the DIMSE process job.
Processes the PDU and routes to appropriate handler.
| coordinator | Pipeline coordinator for stage submission |
Implements kcenon::pacs::network::pipeline::pipeline_job_base.
Definition at line 39 of file dimse_process_job.cpp.
References kcenon::pacs::network::pipeline::c_echo_rq, kcenon::pacs::network::pipeline::c_echo_rsp, kcenon::pacs::network::pipeline::c_find_rq, kcenon::pacs::network::pipeline::c_find_rsp, kcenon::pacs::network::pipeline::c_get_rq, kcenon::pacs::network::pipeline::c_get_rsp, kcenon::pacs::network::pipeline::c_move_rq, kcenon::pacs::network::pipeline::c_move_rsp, kcenon::pacs::network::pipeline::c_store_rq, kcenon::pacs::network::pipeline::c_store_rsp, kcenon::pacs::network::pipeline::echo, kcenon::pacs::network::pipeline::find, kcenon::pacs::network::pipeline::get, kcenon::pacs::network::pipeline::move, kcenon::pacs::network::pipeline::other, kcenon::pacs::network::p_data_tf, kcenon::pacs::network::pipeline::storage_query_exec, and kcenon::pacs::network::pipeline::store.
|
nodiscardoverridevirtualnoexcept |
Get the job context.
Implements kcenon::pacs::network::pipeline::pipeline_job_base.
Definition at line 116 of file dimse_process_job.cpp.
References context_.
|
nodiscardoverridevirtualnoexcept |
Get the job context (mutable)
Implements kcenon::pacs::network::pipeline::pipeline_job_base.
Definition at line 120 of file dimse_process_job.cpp.
References context_.
|
nodiscardoverridevirtual |
Get the job name.
Implements kcenon::pacs::network::pipeline::pipeline_job_base.
Definition at line 124 of file dimse_process_job.cpp.
References context_, pdu_, kcenon::pacs::network::pipeline::job_context::session_id, and kcenon::pacs::network::pipeline::decoded_pdu::type.
|
nodiscardnoexcept |
|
delete |
|
default |
|
nodiscardprivate |
Process association PDUs (A-ASSOCIATE, A-RELEASE, A-ABORT)
Definition at line 227 of file dimse_process_job.cpp.
|
nodiscardprivate |
Process P-DATA-TF PDU.
Definition at line 134 of file dimse_process_job.cpp.
References kcenon::pacs::network::pipeline::dimse_request::command_data, kcenon::pacs::network::pipeline::dimse_request::command_type, kcenon::pacs::error_codes::insufficient_data, kcenon::pacs::network::pipeline::dimse_request::message_id, kcenon::pacs::pacs_error(), kcenon::pacs::network::pipeline::dimse_request::presentation_context_id, kcenon::pacs::network::pipeline::dimse_request::priority, kcenon::pacs::network::pipeline::dimse_request::session_id, kcenon::pacs::network::pipeline::dimse_request::sop_class_uid, and kcenon::pacs::network::pipeline::dimse_request::sop_instance_uid.

|
private |
Definition at line 170 of file dimse_process_job.h.
Referenced by dimse_process_job(), get_context(), get_context(), and get_name().
|
private |
Definition at line 173 of file dimse_process_job.h.
|
private |
Definition at line 174 of file dimse_process_job.h.
|
private |
Definition at line 172 of file dimse_process_job.h.
|
private |
Definition at line 171 of file dimse_process_job.h.
Referenced by dimse_process_job(), get_name(), and get_pdu().