Mercurial > hg > orthanc-transfers
diff Plugin/Plugin.cpp @ 10:c9e28e31262e
new option: MaxHttpRetries
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 04 Mar 2019 15:26:49 +0100 |
parents | 7e207ade2f1a |
children | 34b1875c8e3a |
line wrap: on
line diff
--- a/Plugin/Plugin.cpp Mon Dec 24 13:45:31 2018 +0100 +++ b/Plugin/Plugin.cpp Mon Mar 04 15:26:49 2019 +0100 @@ -274,8 +274,9 @@ OrthancPlugins::TransferQuery query(body); - SubmitJob(output, new OrthancPlugins::PullJob( - query, context.GetThreadsCount(), context.GetTargetBucketSize()), + SubmitJob(output, new OrthancPlugins::PullJob(query, context.GetThreadsCount(), + context.GetTargetBucketSize(), + context.GetMaxHttpRetries()), query.GetPriority()); } @@ -452,7 +453,7 @@ std::string s = writer.write(lookup); Json::Value answer; - if (peers.DoPost(answer, query.GetPeer(), URI_PULL, s) && + if (DoPostPeer(answer, peers, query.GetPeer(), URI_PULL, s, context.GetMaxHttpRetries()) && answer.type() == Json::objectValue && answer.isMember(KEY_ID) && answer.isMember(KEY_PATH) && @@ -479,7 +480,9 @@ else { SubmitJob(output, new OrthancPlugins::PushJob(query, context.GetCache(), - context.GetThreadsCount(), context.GetTargetBucketSize()), + context.GetThreadsCount(), + context.GetTargetBucketSize(), + context.GetMaxHttpRetries()), query.GetPriority()); } } @@ -520,14 +523,16 @@ { job.reset(new OrthancPlugins::PullJob(query, context.GetThreadsCount(), - context.GetTargetBucketSize())); + context.GetTargetBucketSize(), + context.GetMaxHttpRetries())); } else if (type == JOB_TYPE_PUSH) { job.reset(new OrthancPlugins::PushJob(query, context.GetCache(), context.GetThreadsCount(), - context.GetTargetBucketSize())); + context.GetTargetBucketSize(), + context.GetMaxHttpRetries())); } if (job.get() == NULL) @@ -637,6 +642,7 @@ size_t targetBucketSize = 4096; // In KB size_t maxPushTransactions = 4; size_t memoryCacheSize = 512; // In MB + unsigned int maxHttpRetries = 0; std::map<std::string, std::string> bidirectionalPeers; { @@ -650,13 +656,13 @@ threadsCount = plugin.GetUnsignedIntegerValue("Threads", threadsCount); targetBucketSize = plugin.GetUnsignedIntegerValue("BucketSize", targetBucketSize); memoryCacheSize = plugin.GetUnsignedIntegerValue("CacheSize", memoryCacheSize); - maxPushTransactions = plugin.GetUnsignedIntegerValue - ("MaxPushTransactions", maxPushTransactions); + maxPushTransactions = plugin.GetUnsignedIntegerValue("MaxPushTransactions", maxPushTransactions); + maxHttpRetries = plugin.GetUnsignedIntegerValue("MaxHttpRetries", maxHttpRetries); } } - OrthancPlugins::PluginContext::Initialize - (threadsCount, targetBucketSize * KB, maxPushTransactions, memoryCacheSize * MB); + OrthancPlugins::PluginContext::Initialize(threadsCount, targetBucketSize * KB, maxPushTransactions, + memoryCacheSize * MB, maxHttpRetries); OrthancPlugins::RegisterRestCallback<ServeChunks> (std::string(URI_CHUNKS) + "/([.0-9a-f-]+)", true);