PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
association.h File Reference

DICOM Association management per PS3.8. More...

#include "kcenon/pacs/network/pdu_types.h"
#include "kcenon/pacs/network/dimse/dimse_message.h"
#include "kcenon/pacs/encoding/transfer_syntax.h"
#include <chrono>
#include <cstdint>
#include <functional>
#include <map>
#include <memory>
#include <mutex>
#include <optional>
#include <string>
#include <string_view>
#include <variant>
#include <vector>
#include <kcenon/thread/lockfree/lockfree_queue.h>
#include "kcenon/pacs/core/result.h"
Include dependency graph for association.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::network::proposed_presentation_context
 Proposed presentation context for SCU association request. More...
 
struct  kcenon::pacs::network::accepted_presentation_context
 Accepted presentation context after negotiation. More...
 
struct  kcenon::pacs::network::association_config
 Configuration for SCU association request. More...
 
struct  kcenon::pacs::network::scp_config
 Configuration for SCP to accept associations. More...
 
struct  kcenon::pacs::network::rejection_info
 Information about an association rejection. More...
 
class  kcenon::pacs::network::association
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::network
 

Typedefs

template<typename T >
using kcenon::pacs::network::Result = kcenon::pacs::Result<T>
 Result type alias using standardized kcenon::pacs::Result<T>
 
using kcenon::pacs::network::VoidResult = kcenon::pacs::VoidResult
 VoidResult type alias for operations without return value.
 

Enumerations

enum class  kcenon::pacs::network::association_state {
  kcenon::pacs::network::idle , kcenon::pacs::network::awaiting_associate_ac , kcenon::pacs::network::awaiting_associate_rq , kcenon::pacs::network::established ,
  kcenon::pacs::network::awaiting_release_rp , kcenon::pacs::network::awaiting_release_rq , kcenon::pacs::network::released , kcenon::pacs::network::aborted
}
 DICOM Association state machine states per PS3.8. More...
 
enum class  kcenon::pacs::network::association_error {
  kcenon::pacs::network::success = 0 , kcenon::pacs::network::connection_failed , kcenon::pacs::network::connection_timeout , kcenon::pacs::network::association_rejected ,
  kcenon::pacs::network::association_aborted , kcenon::pacs::network::invalid_state , kcenon::pacs::network::negotiation_failed , kcenon::pacs::network::no_acceptable_context ,
  kcenon::pacs::network::pdu_encoding_error , kcenon::pacs::network::pdu_decoding_error , kcenon::pacs::network::send_failed , kcenon::pacs::network::receive_failed ,
  kcenon::pacs::network::receive_timeout , kcenon::pacs::network::protocol_error , kcenon::pacs::network::release_failed , kcenon::pacs::network::already_released
}
 Error codes for association operations. More...
 

Functions

constexpr const char * kcenon::pacs::network::to_string (association_state state) noexcept
 Convert association_state to string representation.
 
constexpr std::string_view kcenon::pacs::network::to_string (association_error err) noexcept
 Convert association_error to string representation.
 

Detailed Description

DICOM Association management per PS3.8.

This file provides the association class for managing DICOM network associations, including state machine, presentation context negotiation, and DIMSE message exchange.

See also
DICOM PS3.8 - Network Communication Support for Message Exchange
DES-NET-004 - Association Class Design Specification
Author
kcenon
Since
1.0.0

Definition in file association.h.