69 const std::string& error)>;
80 uint32_t max_pdu_size = 16384,
111 [[nodiscard]] auto
get_name() const -> std::
string override;
132 [[nodiscard]] auto
fragment_data(const std::vector<uint8_t>& data)
133 -> std::vector<std::vector<uint8_t>>;
Coordinates the 6-stage DICOM I/O pipeline.
Base class for all pipeline jobs.
Job for encoding DIMSE responses into PDU bytes.
std::function< void(const encoded_response &response)> encode_callback
Callback type for encoded response.
response_encode_job(const response_encode_job &)=delete
response_encode_job & operator=(response_encode_job &&)=default
response_encode_job(response_encode_job &&)=default
response_encode_job(service_result result, uint32_t max_pdu_size=16384, encode_callback on_encoded=nullptr, error_callback on_error=nullptr)
Construct an encode job.
auto fragment_data(const std::vector< uint8_t > &data) -> std::vector< std::vector< uint8_t > >
Fragment large data if needed.
auto get_result() const noexcept -> const service_result &
Get the service result.
auto get_name() const -> std::string override
Get the job name.
auto get_context() const noexcept -> const job_context &override
Get the job context.
response_encode_job & operator=(const response_encode_job &)=delete
auto execute(pipeline_coordinator &coordinator) -> VoidResult override
Execute the encode job.
auto encode_response() -> Result< std::vector< encoded_response > >
Encode the response into PDU bytes.
~response_encode_job() override=default
std::function< void(uint64_t session_id, const std::string &error)> error_callback
Callback type for encoding errors.
auto encode_dimse_command() -> Result< std::vector< uint8_t > >
Encode DIMSE command.
encode_callback on_encoded_
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.
Storage and query execution job for Stage 4 of the pipeline.
Encoded PDU ready for network transmission.
uint16_t message_id
Original message ID for correlation.
uint64_t session_id
Session ID for routing.
std::vector< uint8_t > pdu_data
Encoded PDU bytes.
bool is_final
Whether this is the last response in a sequence.
Context information attached to pipeline jobs for tracking.
Result from service execution.