51 const std::string& error)>;
55 const std::vector<uint8_t>& data)>;
67 std::vector<uint8_t> data,
99 [[nodiscard]] auto
get_name() const -> std::
string override;
104 [[nodiscard]] auto
get_data() const noexcept -> const std::vector<uint8_t>&;
Coordinates the 6-stage DICOM I/O pipeline.
Base class for all pipeline jobs.
Job for sending PDU data over network connections.
send_network_io_job & operator=(send_network_io_job &&)=default
send_network_io_job(const send_network_io_job &)=delete
send_network_io_job(uint64_t session_id, std::vector< uint8_t > data, send_function send_fn, completion_callback on_complete=nullptr, error_callback on_error=nullptr)
Construct a send job.
~send_network_io_job() override=default
auto get_data() const noexcept -> const std::vector< uint8_t > &
Get the data to send.
std::function< void(uint64_t session_id, bool success, size_t bytes_sent)> completion_callback
Callback type for send completion.
auto get_name() const -> std::string override
Get the job name.
auto execute(pipeline_coordinator &coordinator) -> VoidResult override
Execute the send job.
completion_callback on_complete_
std::function< void(uint64_t session_id, const std::string &error)> error_callback
Callback type for send errors.
std::vector< uint8_t > data_
std::function< VoidResult(uint64_t session_id, const std::vector< uint8_t > &data)> send_function
Function type for actual network send operation.
auto get_session_id() const noexcept -> uint64_t
Get the session ID.
auto get_context() const noexcept -> const job_context &override
Get the job context.
send_network_io_job(send_network_io_job &&)=default
send_network_io_job & operator=(const send_network_io_job &)=delete
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.
Context information attached to pipeline jobs for tracking.