PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
pacs-network.cppm
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
21module;
22
23// Standard library imports
24#include <atomic>
25#include <chrono>
26#include <cstddef>
27#include <cstdint>
28#include <functional>
29#include <map>
30#include <memory>
31#include <mutex>
32#include <optional>
33#include <queue>
34#include <string>
35#include <string_view>
36#include <unordered_map>
37#include <vector>
38
39// PACS network headers - Core
47
48// PACS network headers - V2 implementation
51
52// PACS network headers - DIMSE (basic)
56
57export module kcenon.pacs:network;
58
59// ============================================================================
60// Re-export pacs::network namespace
61// ============================================================================
62
63export namespace pacs::network {
64
65// Association
66using pacs::network::association;
67using pacs::network::association_state;
68using pacs::network::presentation_context;
69
70// PDU types and enums
71using pacs::network::pdu_type;
72using pacs::network::item_type;
73using pacs::network::rejection_result;
74using pacs::network::rejection_source;
75using pacs::network::rejection_reason;
76using pacs::network::abort_source;
77using pacs::network::abort_reason;
78
79// PDU encoder/decoder
80using pacs::network::pdu_encoder;
81using pacs::network::pdu_decoder;
82
83// Buffer pool
84using pacs::network::pdu_buffer_pool;
85using pacs::network::pooled_buffer;
86
87// Server configuration
88using pacs::network::server_config;
89using pacs::network::tls_config;
90
91// Server
92using pacs::network::dicom_server;
93
94} // namespace pacs::network
95
96// ============================================================================
97// Re-export pacs::network::v2 namespace
98// ============================================================================
99
100export namespace pacs::network::v2 {
101
102// Handler state
103using pacs::network::v2::handler_state;
104using pacs::network::v2::to_string;
105
106// Association handler
107using pacs::network::v2::dicom_association_handler;
108
109// Server v2
110using pacs::network::v2::dicom_server_v2;
111
112} // namespace pacs::network::v2
113
114// ============================================================================
115// Re-export pacs::network::dimse namespace (basic types)
116// ============================================================================
117
118export namespace pacs::network::dimse {
119
120// Message types
121using pacs::network::dimse::dimse_message;
122using pacs::network::dimse::command_field;
123
124// Status codes
125using pacs::network::dimse::status_code;
126using pacs::network::dimse::status_success;
127using pacs::network::dimse::status_pending;
128using pacs::network::dimse::status_pending_warning;
129using pacs::network::dimse::status_cancel;
130
131// Status category checks
132using pacs::network::dimse::is_success;
133using pacs::network::dimse::is_pending;
134using pacs::network::dimse::is_warning;
135using pacs::network::dimse::is_failure;
136
137} // namespace pacs::network::dimse
DICOM Association management per PS3.8.
DIMSE command field enumeration.
DICOM association handler for network_system integration.
Multi-threaded DICOM server for handling multiple associations.
DICOM server implementation using network_system's messaging_server.
DIMSE message encoding and decoding.
Object pooling for PDU buffers and network data structures.
DICOM Server configuration structures.
DIMSE status codes.