Mercurial > hg > orthanc
diff Core/DicomNetworking/Internals/CommandDispatcher.cpp @ 3706:bd34b6ac5c08 storage-commitment
timeouts in storage commitment SCU and SCP
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 27 Feb 2020 12:24:29 +0100 |
parents | d8b214a46b91 |
children | 56f2397f027a |
line wrap: on
line diff
--- a/Core/DicomNetworking/Internals/CommandDispatcher.cpp Thu Feb 27 12:07:19 2020 +0100 +++ b/Core/DicomNetworking/Internals/CommandDispatcher.cpp Thu Feb 27 12:24:29 2020 +0100 @@ -891,14 +891,15 @@ static DcmDataset* ReadDataset(T_ASC_Association* assoc, - const char* errorMessage) + const char* errorMessage, + int timeout) { DcmDataset *tmp = NULL; T_ASC_PresentationContextID presIdData; OFCondition cond = DIMSE_receiveDataSetInMemory( - assoc, /*opt_blockMode*/ DIMSE_BLOCKING, - /*opt_dimse_timeout*/ 0, &presIdData, &tmp, NULL, NULL); + assoc, (timeout ? DIMSE_NONBLOCKING : DIMSE_BLOCKING), timeout, + &presIdData, &tmp, NULL, NULL); if (!cond.good() || tmp == NULL) { @@ -1027,7 +1028,7 @@ **/ std::auto_ptr<DcmDataset> dataset( - ReadDataset(assoc_, "Cannot read the dataset in N-ACTION SCP")); + ReadDataset(assoc_, "Cannot read the dataset in N-ACTION SCP", associationTimeout_)); std::string transactionUid = ReadString(*dataset, DCM_TransactionUID); @@ -1150,7 +1151,7 @@ **/ std::auto_ptr<DcmDataset> dataset( - ReadDataset(assoc_, "Cannot read the dataset in N-EVENT-REPORT SCP")); + ReadDataset(assoc_, "Cannot read the dataset in N-EVENT-REPORT SCP", associationTimeout_)); std::string transactionUid = ReadString(*dataset, DCM_TransactionUID);