19#ifndef PACS_SERVICES_STORAGE_COMMITMENT_SCU_HPP
20#define PACS_SERVICES_STORAGE_COMMITMENT_SCU_HPP
60 std::shared_ptr<di::ILogger> logger =
nullptr);
74 const std::string& transaction_uid,
102 const std::string& transaction_uid,
103 const std::vector<sop_reference>& references);
135 const std::
string& transaction_uid,
139 const core::dicom_dataset& dataset);
DICOM Association management per PS3.8.
Storage Commitment Push Model SCU.
size_t event_reports_received() const noexcept
std::atomic< size_t > event_reports_received_
std::function< void( const std::string &transaction_uid, const commitment_result &result)> commitment_callback
Callback type for commitment results.
void reset_statistics() noexcept
storage_commitment_scu(std::shared_ptr< di::ILogger > logger=nullptr)
std::atomic< size_t > requests_sent_
void set_commitment_callback(commitment_callback cb)
Set callback for commitment result notifications.
size_t requests_sent() const noexcept
network::Result< commitment_result > handle_event_report(const network::dimse::dimse_message &event_rq)
Handle an N-EVENT-REPORT-RQ received from the SCP.
commitment_callback callback_
std::shared_ptr< di::ILogger > logger_
static commitment_result parse_event_report_dataset(const core::dicom_dataset &dataset)
~storage_commitment_scu()=default
network::Result< std::monostate > request_commitment(network::association &assoc, uint8_t context_id, const std::string &transaction_uid, const std::vector< sop_reference > &references)
Send N-ACTION request to commit stored instances.
static core::dicom_dataset build_action_dataset(const std::string &transaction_uid, const std::vector< sop_reference > &references)
DICOM Dataset - ordered collection of Data Elements.
DIMSE message encoding and decoding.
Logger interface for dependency injection.
Data types for DICOM Storage Commitment Push Model Service.
Result of a Storage Commitment verification.
Reference to a SOP Instance in a commitment request.