PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::network::pipeline::pipeline_job_base Class Referenceabstract

Base class for all pipeline jobs. More...

#include <pipeline_coordinator.h>

Inheritance diagram for kcenon::pacs::network::pipeline::pipeline_job_base:
Inheritance graph
Collaboration diagram for kcenon::pacs::network::pipeline::pipeline_job_base:
Collaboration graph

Public Member Functions

virtual ~pipeline_job_base ()=default
 Virtual destructor.
 
virtual auto execute (pipeline_coordinator &coordinator) -> VoidResult=0
 Execute the job.
 
virtual auto get_context () const noexcept -> const job_context &=0
 Get the job context.
 
virtual auto get_context () noexcept -> job_context &=0
 Get the job context (mutable)
 
virtual auto get_name () const -> std::string=0
 Get the job name for logging.
 

Protected Member Functions

 pipeline_job_base ()=default
 
 pipeline_job_base (const pipeline_job_base &)=delete
 
pipeline_job_baseoperator= (const pipeline_job_base &)=delete
 
 pipeline_job_base (pipeline_job_base &&)=default
 
pipeline_job_baseoperator= (pipeline_job_base &&)=default
 

Detailed Description

Base class for all pipeline jobs.

Pipeline jobs encapsulate work to be executed by a stage's worker pool. Derived classes implement the execute() method for stage-specific logic.

Definition at line 383 of file pipeline_coordinator.h.

Constructor & Destructor Documentation

◆ ~pipeline_job_base()

virtual kcenon::pacs::network::pipeline::pipeline_job_base::~pipeline_job_base ( )
virtualdefault

◆ pipeline_job_base() [1/3]

kcenon::pacs::network::pipeline::pipeline_job_base::pipeline_job_base ( )
protecteddefault

◆ pipeline_job_base() [2/3]

kcenon::pacs::network::pipeline::pipeline_job_base::pipeline_job_base ( const pipeline_job_base & )
protecteddelete

◆ pipeline_job_base() [3/3]

kcenon::pacs::network::pipeline::pipeline_job_base::pipeline_job_base ( pipeline_job_base && )
protecteddefault

Member Function Documentation

◆ execute()

virtual auto kcenon::pacs::network::pipeline::pipeline_job_base::execute ( pipeline_coordinator & coordinator) -> VoidResult
nodiscardpure virtual

Execute the job.

Called by the worker thread. Implementations should perform the stage-specific work and optionally submit follow-up jobs to the next stage.

Parameters
coordinatorReference to the pipeline coordinator
Returns
VoidResult indicating success or error

Implemented in kcenon::pacs::network::pipeline::dimse_process_job, kcenon::pacs::network::pipeline::pdu_decode_job, kcenon::pacs::network::pipeline::receive_network_io_job, kcenon::pacs::network::pipeline::response_encode_job, kcenon::pacs::network::pipeline::send_network_io_job, and kcenon::pacs::network::pipeline::storage_query_exec_job.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/network/pipeline/pipeline_coordinator.h.

◆ get_context() [1/2]

◆ get_context() [2/2]

virtual auto kcenon::pacs::network::pipeline::pipeline_job_base::get_context ( ) -> job_context &
nodiscardpure virtualnoexcept

◆ get_name()

◆ operator=() [1/2]

pipeline_job_base & kcenon::pacs::network::pipeline::pipeline_job_base::operator= ( const pipeline_job_base & )
protecteddelete

◆ operator=() [2/2]

pipeline_job_base & kcenon::pacs::network::pipeline::pipeline_job_base::operator= ( pipeline_job_base && )
protecteddefault

The documentation for this class was generated from the following file: