diff Framework/Loaders/LoaderCache.cpp @ 930:bf03cb879eb4

Fixed LoaderCache
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 24 Jul 2019 18:45:33 +0200
parents 408bcc6c1505
children f75f6cb69c1b
line wrap: on
line diff
--- a/Framework/Loaders/LoaderCache.cpp	Wed Jul 24 14:27:06 2019 +0200
+++ b/Framework/Loaders/LoaderCache.cpp	Wed Jul 24 18:45:33 2019 +0200
@@ -24,6 +24,13 @@
 #include "OrthancMultiframeVolumeLoader.h"
 #include "DicomStructureSetLoader.h"
 
+#if ORTHANC_ENABLE_WASM == 1
+# include <unistd.h>
+# include "../Oracle/WebAssemblyOracle.h"
+#else
+# include "../Oracle/ThreadedOracle.h"
+#endif
+
 #include "../Messages/LockingEmitter.h"
 #include "../Volumes/DicomVolumeImage.h"
 #include "../Volumes/DicomVolumeImageMPRSlicer.h"
@@ -34,13 +41,13 @@
 namespace OrthancStone
 {
 #if ORTHANC_ENABLE_WASM == 1
-  LoaderCache::LoaderCache(IOracle& oracle)
+  LoaderCache::LoaderCache(WebAssemblyOracle& oracle)
     : oracle_(oracle)
   {
 
   }
 #else
-  LoaderCache::LoaderCache(IOracle& oracle, LockingEmitter& lockingEmitter)
+  LoaderCache::LoaderCache(ThreadedOracle& oracle, LockingEmitter& lockingEmitter)
     : oracle_(oracle)
     , lockingEmitter_(lockingEmitter)
   {
@@ -59,12 +66,17 @@
       // find in cache
       if (seriesVolumeProgressiveLoaders_.find(seriesUuid) == seriesVolumeProgressiveLoaders_.end())
       {
+#if ORTHANC_ENABLE_WASM == 1
+        LOG(WARNING) << "Performing request for series " << seriesUuid << " sbrk(0) = " << sbrk(0);
+#else
+        LOG(WARNING) << "Performing request for series " << seriesUuid;
+#endif
         boost::shared_ptr<DicomVolumeImage> volumeImage(new DicomVolumeImage);
         boost::shared_ptr<OrthancSeriesVolumeProgressiveLoader> loader;
 
         {
 #if ORTHANC_ENABLE_WASM == 1
-          loader.reset(new OrthancSeriesVolumeProgressiveLoader(volumeImage, GetParent()->GetOracleRef(), GetParent()->GetOracleRef()));
+          loader.reset(new OrthancSeriesVolumeProgressiveLoader(volumeImage, oracle_, oracle_));
 #else
           LockingEmitter::WriterLock lock(lockingEmitter_);
           loader.reset(new OrthancSeriesVolumeProgressiveLoader(volumeImage, oracle_, lock.GetOracleObservable()));
@@ -115,7 +127,7 @@
 
         {
 #if ORTHANC_ENABLE_WASM == 1
-          loader.reset(new OrthancMultiframeVolumeLoader(volumeImage, GetParent()->GetOracleRef(), GetParent()->GetOracleRef()));
+          loader.reset(new OrthancMultiframeVolumeLoader(volumeImage, oracle_, oracle_));
 #else
           LockingEmitter::WriterLock lock(lockingEmitter_);
           loader.reset(new OrthancMultiframeVolumeLoader(volumeImage, oracle_, lock.GetOracleObservable()));
@@ -167,7 +179,7 @@
 
         {
 #if ORTHANC_ENABLE_WASM == 1
-          loader.reset(new DicomStructureSetLoader(volumeImage, GetParent()->GetOracleRef(), GetParent()->GetOracleRef()));
+          loader.reset(new DicomStructureSetLoader(oracle_, oracle_));
 #else
           LockingEmitter::WriterLock lock(lockingEmitter_);
           loader.reset(new DicomStructureSetLoader(oracle_, lock.GetOracleObservable()));