diff OrthancServer/Plugins/Engine/OrthancPlugins.cpp @ 4613:2684544ff03c db-changes

maximum number of database retries for writer collisions is now set by the plugins
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 08 Apr 2021 10:46:12 +0200
parents f75c63aa9de0
children 6c4081ae3bb8
line wrap: on
line diff
--- a/OrthancServer/Plugins/Engine/OrthancPlugins.cpp	Wed Apr 07 10:41:39 2021 +0200
+++ b/OrthancServer/Plugins/Engine/OrthancPlugins.cpp	Thu Apr 08 10:46:12 2021 +0200
@@ -1212,6 +1212,7 @@
     std::unique_ptr<OrthancPluginDatabaseV3>  databaseV3_;  // New in Orthanc 1.9.2
     PluginsErrorDictionary  dictionary_;
     std::string databaseServerIdentifier_;   // New in Orthanc 1.9.2
+    unsigned int maxDatabaseRetries_;   // New in Orthanc 1.9.2
 
     PImpl(const std::string& databaseServerIdentifier) : 
       context_(NULL), 
@@ -1219,7 +1220,8 @@
       worklistCallback_(NULL),
       argc_(1),
       argv_(NULL),
-      databaseServerIdentifier_(databaseServerIdentifier)
+      databaseServerIdentifier_(databaseServerIdentifier),
+      maxDatabaseRetries_(0)
     {
       memset(&moveCallbacks_, 0, sizeof(moveCallbacks_));
     }
@@ -5087,6 +5089,7 @@
         {
           pimpl_->databaseV3_.reset(new OrthancPluginDatabaseV3(plugin, GetErrorDictionary(), p.backend,
                                                                 p.backendSize, p.database, pimpl_->databaseServerIdentifier_));
+          pimpl_->maxDatabaseRetries_ = p.maxDatabaseRetries;
         }
         else
         {
@@ -5754,4 +5757,11 @@
     boost::recursive_mutex::scoped_lock lock(pimpl_->invokeServiceMutex_);
     return (pimpl_->authorizationTokens_.find(token) != pimpl_->authorizationTokens_.end());
   }
+
+  
+  unsigned int OrthancPlugins::GetMaxDatabaseRetries() const
+  {
+    boost::recursive_mutex::scoped_lock lock(pimpl_->invokeServiceMutex_);
+    return pimpl_->maxDatabaseRetries_;
+  }
 }