comparison Core/DicomNetworking/DicomUserConnection.cpp @ 3705:d8b214a46b91 storage-commitment

integration mainline->storage-commitment
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 27 Feb 2020 12:07:19 +0100
parents 736907ecb626 58f92b1c8061
children bd34b6ac5c08
comparison
equal deleted inserted replaced
3703:2eeaa076c8f6 3705:d8b214a46b91
468 // Finally conduct transmission of data 468 // Finally conduct transmission of data
469 T_DIMSE_C_StoreRSP response; 469 T_DIMSE_C_StoreRSP response;
470 DcmDataset* statusDetail = NULL; 470 DcmDataset* statusDetail = NULL;
471 Check(DIMSE_storeUser(assoc_, presID, &request, 471 Check(DIMSE_storeUser(assoc_, presID, &request,
472 NULL, dcmff.getDataset(), /*progressCallback*/ NULL, NULL, 472 NULL, dcmff.getDataset(), /*progressCallback*/ NULL, NULL,
473 /*opt_blockMode*/ DIMSE_BLOCKING, /*opt_dimse_timeout*/ dimseTimeout_, 473 /*opt_blockMode*/ (dimseTimeout_ ? DIMSE_NONBLOCKING : DIMSE_BLOCKING),
474 /*opt_dimse_timeout*/ dimseTimeout_,
474 &response, &statusDetail, NULL), 475 &response, &statusDetail, NULL),
475 connection.remoteAet_, "C-STORE"); 476 connection.remoteAet_, "C-STORE");
476 477
477 if (statusDetail != NULL) 478 if (statusDetail != NULL)
478 { 479 {
702 OFCondition cond = DIMSE_findUser(association, presID, &request, dataset, 703 OFCondition cond = DIMSE_findUser(association, presID, &request, dataset,
703 #if DCMTK_VERSION_NUMBER >= 364 704 #if DCMTK_VERSION_NUMBER >= 364
704 responseCount, 705 responseCount,
705 #endif 706 #endif
706 FindCallback, &payload, 707 FindCallback, &payload,
707 /*opt_blockMode*/ DIMSE_BLOCKING, 708 /*opt_blockMode*/ (dimseTimeout ? DIMSE_NONBLOCKING : DIMSE_BLOCKING),
708 /*opt_dimse_timeout*/ dimseTimeout, 709 /*opt_dimse_timeout*/ dimseTimeout,
709 &response, &statusDetail); 710 &response, &statusDetail);
710 711
711 if (statusDetail) 712 if (statusDetail)
712 { 713 {
900 T_DIMSE_C_MoveRSP response; 901 T_DIMSE_C_MoveRSP response;
901 DcmDataset* statusDetail = NULL; 902 DcmDataset* statusDetail = NULL;
902 DcmDataset* responseIdentifiers = NULL; 903 DcmDataset* responseIdentifiers = NULL;
903 OFCondition cond = DIMSE_moveUser(pimpl_->assoc_, presID, &request, dataset, 904 OFCondition cond = DIMSE_moveUser(pimpl_->assoc_, presID, &request, dataset,
904 NULL, NULL, 905 NULL, NULL,
905 /*opt_blockMode*/ DIMSE_BLOCKING, 906 /*opt_blockMode*/ (pimpl_->dimseTimeout_ ? DIMSE_NONBLOCKING : DIMSE_BLOCKING),
906 /*opt_dimse_timeout*/ pimpl_->dimseTimeout_, 907 /*opt_dimse_timeout*/ pimpl_->dimseTimeout_,
907 pimpl_->net_, NULL, NULL, 908 pimpl_->net_, NULL, NULL,
908 &response, &statusDetail, &responseIdentifiers); 909 &response, &statusDetail, &responseIdentifiers);
909 910
910 if (statusDetail) 911 if (statusDetail)
1210 bool DicomUserConnection::Echo() 1211 bool DicomUserConnection::Echo()
1211 { 1212 {
1212 CheckIsOpen(); 1213 CheckIsOpen();
1213 DIC_US status; 1214 DIC_US status;
1214 Check(DIMSE_echoUser(pimpl_->assoc_, pimpl_->assoc_->nextMsgID++, 1215 Check(DIMSE_echoUser(pimpl_->assoc_, pimpl_->assoc_->nextMsgID++,
1215 /*opt_blockMode*/ DIMSE_BLOCKING, 1216 /*opt_blockMode*/ (pimpl_->dimseTimeout_ ? DIMSE_NONBLOCKING : DIMSE_BLOCKING),
1216 /*opt_dimse_timeout*/ pimpl_->dimseTimeout_, 1217 /*opt_dimse_timeout*/ pimpl_->dimseTimeout_,
1217 &status, NULL), remoteAet_, "C-ECHO"); 1218 &status, NULL), remoteAet_, "C-ECHO");
1218 return status == STATUS_Success; 1219 return status == STATUS_Success;
1219 } 1220 }
1220 1221
1330 } 1331 }
1331 else 1332 else
1332 { 1333 {
1333 dcmConnectionTimeout.set(seconds); 1334 dcmConnectionTimeout.set(seconds);
1334 pimpl_->dimseTimeout_ = seconds; 1335 pimpl_->dimseTimeout_ = seconds;
1335 pimpl_->acseTimeout_ = 10; // Timeout used during association negociation 1336 pimpl_->acseTimeout_ = seconds; // Timeout used during association negociation and ASC_releaseAssociation()
1336 } 1337 }
1337 } 1338 }
1338 1339
1339 1340
1340 void DicomUserConnection::DisableTimeout() 1341 void DicomUserConnection::DisableTimeout()
1343 * Global timeout (seconds) for connecting to remote hosts. 1344 * Global timeout (seconds) for connecting to remote hosts.
1344 * Default value is -1 which selects infinite timeout, i.e. blocking connect(). 1345 * Default value is -1 which selects infinite timeout, i.e. blocking connect().
1345 */ 1346 */
1346 dcmConnectionTimeout.set(-1); 1347 dcmConnectionTimeout.set(-1);
1347 pimpl_->dimseTimeout_ = 0; 1348 pimpl_->dimseTimeout_ = 0;
1348 pimpl_->acseTimeout_ = 10; // Timeout used during association negociation 1349 pimpl_->acseTimeout_ = 10; // Timeout used during association negociation and ASC_releaseAssociation()
1349 } 1350 }
1350 1351
1351 1352
1352 void DicomUserConnection::CheckStorageSOPClassesInvariant() const 1353 void DicomUserConnection::CheckStorageSOPClassesInvariant() const
1353 { 1354 {