aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-13 03:00:21 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-13 03:00:26 +0200
commit3e83021fbc9f0cec25ebdbf3683ac91562a2192b (patch)
treecd39d12fa7a894039d14d63140e87f52582cc426
parent8f06cb06743010412ee7ca3241d3f6327e92a472 (diff)
parent66e15273ee5b183a21ca1a52899edb89cd45a4da (diff)
Merge "Merge remote-tracking branch 'origin/5.13' into dev"
-rw-r--r--src/coap/qcoapprotocol.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/coap/qcoapprotocol.cpp b/src/coap/qcoapprotocol.cpp
index 30ee188..42ef4ba 100644
--- a/src/coap/qcoapprotocol.cpp
+++ b/src/coap/qcoapprotocol.cpp
@@ -180,10 +180,17 @@ void QCoapProtocol::sendRequest(QPointer<QCoapReply> reply, QCoapConnection *con
internalRequest->setToSendBlock(0, d->blockSize);
}
- if (requestMessage->type() == QCoapMessage::Type::Confirmable)
- internalRequest->setTimeout(QtCoap::randomGenerator().bounded(minimumTimeout(), maximumTimeout()));
- else
+ if (requestMessage->type() == QCoapMessage::Type::Confirmable) {
+ const auto minTimeout = minimumTimeout();
+ const auto maxTimeout = maximumTimeout();
+ Q_ASSERT(minTimeout <= maxTimeout);
+
+ internalRequest->setTimeout(minTimeout == maxTimeout
+ ? minTimeout
+ : QtCoap::randomGenerator().bounded(minTimeout, maxTimeout));
+ } else {
internalRequest->setTimeout(maximumTimeout());
+ }
connect(internalRequest.data(), &QCoapInternalRequest::timeout,
[this](QCoapInternalRequest *request) {