|
PACS System 0.1.0
PACS DICOM system library
|
Configuration options for the pipeline coordinator. More...
#include <pipeline_coordinator.h>

Public Member Functions | |
| auto | get_workers_for_stage (pipeline_stage stage) const noexcept -> size_t |
| Get the number of workers for a specific stage. | |
Public Attributes | |
| size_t | net_io_workers = 4 |
| Number of workers for network I/O stages (1 & 6) Low latency, non-blocking operations. | |
| size_t | protocol_workers = 2 |
| Number of workers for protocol stages (2 & 3) PDU decoding and DIMSE processing. | |
| size_t | execution_workers = 8 |
| Number of workers for execution stage (4) Blocking I/O allowed (database, file system) | |
| size_t | encode_workers = 2 |
| Number of workers for encoding stage (5) Response PDU encoding. | |
| size_t | max_queue_depth = 10000 |
| Maximum queue depth per stage (backpressure threshold) | |
| std::chrono::milliseconds | shutdown_timeout {500} |
| Graceful shutdown timeout. | |
| bool | enable_metrics = true |
| Enable metrics collection. | |
| std::string | name_prefix = "pipeline" |
| Name prefix for thread pools (for logging) | |
Configuration options for the pipeline coordinator.
Default values are tuned for a typical PACS workload with balanced throughput and latency requirements.
Definition at line 43 of file pipeline_coordinator.h.
|
inlinenodiscardnoexcept |
Get the number of workers for a specific stage.
| stage | The pipeline stage |
Definition at line 77 of file pipeline_coordinator.h.
References kcenon::pacs::network::pipeline::dimse_process, encode_workers, execution_workers, net_io_workers, kcenon::pacs::network::pipeline::network_receive, kcenon::pacs::network::pipeline::network_send, kcenon::pacs::network::pipeline::pdu_decode, protocol_workers, kcenon::pacs::network::pipeline::response_encode, and kcenon::pacs::network::pipeline::storage_query_exec.
| bool kcenon::pacs::network::pipeline::pipeline_config::enable_metrics = true |
Enable metrics collection.
Definition at line 67 of file pipeline_coordinator.h.
Referenced by kcenon::pacs::network::pipeline::pipeline_coordinator::pipeline_coordinator().
| size_t kcenon::pacs::network::pipeline::pipeline_config::encode_workers = 2 |
Number of workers for encoding stage (5) Response PDU encoding.
Definition at line 58 of file pipeline_coordinator.h.
Referenced by get_workers_for_stage().
| size_t kcenon::pacs::network::pipeline::pipeline_config::execution_workers = 8 |
Number of workers for execution stage (4) Blocking I/O allowed (database, file system)
Definition at line 54 of file pipeline_coordinator.h.
Referenced by get_workers_for_stage().
| size_t kcenon::pacs::network::pipeline::pipeline_config::max_queue_depth = 10000 |
Maximum queue depth per stage (backpressure threshold)
Definition at line 61 of file pipeline_coordinator.h.
Referenced by kcenon::pacs::network::pipeline::pipeline_coordinator::check_backpressure().
| std::string kcenon::pacs::network::pipeline::pipeline_config::name_prefix = "pipeline" |
Name prefix for thread pools (for logging)
Definition at line 70 of file pipeline_coordinator.h.
| size_t kcenon::pacs::network::pipeline::pipeline_config::net_io_workers = 4 |
Number of workers for network I/O stages (1 & 6) Low latency, non-blocking operations.
Definition at line 46 of file pipeline_coordinator.h.
Referenced by get_workers_for_stage().
| size_t kcenon::pacs::network::pipeline::pipeline_config::protocol_workers = 2 |
Number of workers for protocol stages (2 & 3) PDU decoding and DIMSE processing.
Definition at line 50 of file pipeline_coordinator.h.
Referenced by get_workers_for_stage().
| std::chrono::milliseconds kcenon::pacs::network::pipeline::pipeline_config::shutdown_timeout {500} |