Mercurial > hg > orthanc
diff Core/DicomNetworking/Internals/MoveScp.cpp @ 3786:3801435e34a1 SylvainRouquette/fix-issue169-95b752c
integration Orthanc-1.6.0->SylvainRouquette
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 19 Mar 2020 11:48:30 +0100 |
parents | 2a170a8f1faf |
children |
line wrap: on
line diff
--- a/Core/DicomNetworking/Internals/MoveScp.cpp Wed Mar 18 08:59:06 2020 +0100 +++ b/Core/DicomNetworking/Internals/MoveScp.cpp Thu Mar 19 11:48:30 2020 +0100 @@ -2,7 +2,7 @@ * Orthanc - A Lightweight, RESTful DICOM Store * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics * Department, University Hospital of Liege, Belgium - * Copyright (C) 2017-2019 Osimis S.A., Belgium + * Copyright (C) 2017-2020 Osimis S.A., Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -114,7 +114,7 @@ unsigned int subOperationCount_; unsigned int failureCount_; unsigned int warningCount_; - std::auto_ptr<IMoveRequestIterator> iterator_; + std::unique_ptr<IMoveRequestIterator> iterator_; const std::string* remoteIp_; const std::string* remoteAet_; const std::string* calledAet_; @@ -272,7 +272,8 @@ IMoveRequestHandler& handler, const std::string& remoteIp, const std::string& remoteAet, - const std::string& calledAet) + const std::string& calledAet, + int timeout) { MoveScpData data; data.target_ = std::string(msg->msg.CMoveRQ.MoveDestination); @@ -284,8 +285,8 @@ OFCondition cond = DIMSE_moveProvider(assoc, presID, &msg->msg.CMoveRQ, MoveScpCallback, &data, - /*opt_blockMode*/ DIMSE_BLOCKING, - /*opt_dimse_timeout*/ 0); + /*opt_blockMode*/ (timeout ? DIMSE_NONBLOCKING : DIMSE_BLOCKING), + /*opt_dimse_timeout*/ timeout); // if some error occured, dump corresponding information and remove the outfile if necessary if (cond.bad())