73 const std::string& error)>;
84 std::vector<uint8_t> raw_data,
115 [[nodiscard]] auto
get_name() const -> std::
string override;
120 [[nodiscard]] auto
get_raw_data() const noexcept -> const std::vector<uint8_t>&;
Job for decoding raw PDU bytes.
pdu_decode_job & operator=(const pdu_decode_job &)=delete
std::function< void(const decoded_pdu &pdu)> decode_callback
Callback type for decoded PDU.
auto get_name() const -> std::string override
Get the job name.
auto get_raw_data() const noexcept -> const std::vector< uint8_t > &
Get the raw PDU data.
pdu_decode_job(pdu_decode_job &&)=default
decode_callback on_decoded_
std::vector< uint8_t > raw_data_
pdu_decode_job(const pdu_decode_job &)=delete
auto decode_pdu() -> Result< decoded_pdu >
Internal decode method.
pdu_decode_job & operator=(pdu_decode_job &&)=default
auto execute(pipeline_coordinator &coordinator) -> VoidResult override
Execute the decode job.
~pdu_decode_job() override=default
pdu_decode_job(uint64_t session_id, std::vector< uint8_t > raw_data, decode_callback on_decoded=nullptr, error_callback on_error=nullptr)
Construct a decode job.
std::function< void(uint64_t session_id, const std::string &error)> error_callback
Callback type for decode errors.
auto get_context() const noexcept -> const job_context &override
Get the job context.
Coordinates the 6-stage DICOM I/O pipeline.
Base class for all pipeline jobs.
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.
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.
uint64_t session_id
Session this PDU belongs to.
std::vector< uint8_t > data
Raw PDU data for further processing.
kcenon::pacs::network::pdu_type type
The type of PDU that was decoded.
bool is_last_fragment
Whether this is the last fragment (for P-DATA-TF)
uint8_t presentation_context_id
Presentation context ID (for P-DATA-TF)
Context information attached to pipeline jobs for tracking.