diff OrthancServer/ServerJobs/DicomMoveScuJob.cpp @ 3870:09798f2b985f transcoding

added a Timeout argument to every DICOM command + 'TargetAet' not mandatory anymore in /retrieve
author Alain Mazy <alain@mazy.be>
date Wed, 29 Apr 2020 12:26:51 +0200
parents 138d0dde41b5
children 2effa961f67f
line wrap: on
line diff
--- a/OrthancServer/ServerJobs/DicomMoveScuJob.cpp	Tue Apr 28 16:46:04 2020 +0200
+++ b/OrthancServer/ServerJobs/DicomMoveScuJob.cpp	Wed Apr 29 12:26:51 2020 +0200
@@ -40,6 +40,7 @@
 static const char* const TARGET_AET = "TargetAet";
 static const char* const REMOTE = "Remote";
 static const char* const QUERY = "Query";
+static const char* const TIMEOUT = "Timeout";
 
 namespace Orthanc
 {
@@ -99,6 +100,11 @@
       connection_.reset(new DicomControlUserConnection(localAet_, remote_));
     }
     
+    if (timeout_ > -1)
+    {
+      connection_->SetTimeout(timeout_);
+    }
+
     connection_->Move(targetAet_, findAnswer);
   }
 
@@ -214,6 +220,9 @@
     {
       query_ = serialized[QUERY];
     }
+
+    // New in Orthanc in 1.7.0
+    timeout_ = SerializationToolbox::ReadInteger(serialized, TIMEOUT, -1);
   }
 
   
@@ -228,6 +237,7 @@
       target[LOCAL_AET] = localAet_;
       target[TARGET_AET] = targetAet_;
       target[QUERY] = query_;
+      target[TIMEOUT] = timeout_;
       remote_.Serialize(target[REMOTE], true /* force advanced format */);
       return true;
     }