Mercurial > hg > orthanc
diff OrthancServer/ServerJobs/DicomModalityStoreJob.cpp @ 3737:f29843323daf storage-commitment
accessing storage commitment reports from REST API
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 10 Mar 2020 20:33:01 +0100 |
parents | 77183afbf55e |
children | 138d0dde41b5 |
line wrap: on
line diff
--- a/OrthancServer/ServerJobs/DicomModalityStoreJob.cpp Tue Mar 10 17:43:49 2020 +0100 +++ b/OrthancServer/ServerJobs/DicomModalityStoreJob.cpp Tue Mar 10 20:33:01 2020 +0100 @@ -38,6 +38,7 @@ #include "../../Core/Logging.h" #include "../../Core/SerializationToolbox.h" #include "../ServerContext.h" +#include "../StorageCommitmentReports.h" namespace Orthanc @@ -96,9 +97,15 @@ } if (sopClassUids_.size() == GetInstancesCount()) - { - LOG(INFO) << "Sending storage commitment request to modality: " - << remote_.GetApplicationEntityTitle(); + { + const std::string& remoteAet = remote_.GetApplicationEntityTitle(); + + LOG(INFO) << "Sending storage commitment request to modality: " << remoteAet; + + // Create a "pending" storage commitment report BEFORE the + // actual SCU call in order to avoid race conditions + context_.GetStorageCommitmentReports().Store( + transactionUid_, new StorageCommitmentReports::Report(remoteAet)); assert(IsStarted()); OpenConnection();