summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-03-03 15:55:47 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-03-03 20:21:17 +0000
commit089ed1525e80b804a1745484995582e29d08129e (patch)
tree3be2cb9f5894cc7a45e9129e41aae791e7e45a83 /src/network/socket
parent37d89fd8fb2c6b41a9dc9bea2f021803e5070866 (diff)
QtNetwork: optimize container usage
Don't perform lookup twice. Just cache iterator or position. Change-Id: I454fd292614dee62167ff248fc3ddec0f79435b0 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qsocks5socketengine.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp
index ee50008cc7..4de4c1799f 100644
--- a/src/network/socket/qsocks5socketengine.cpp
+++ b/src/network/socket/qsocks5socketengine.cpp
@@ -370,9 +370,11 @@ bool QSocks5BindStore::contains(qintptr socketDescriptor)
QSocks5BindData *QSocks5BindStore::retrieve(qintptr socketDescriptor)
{
QMutexLocker lock(&mutex);
- if (!store.contains(socketDescriptor))
+ const auto it = store.constFind(socketDescriptor);
+ if (it == store.cend())
return 0;
- QSocks5BindData *bindData = store.take(socketDescriptor);
+ QSocks5BindData *bindData = it.value();
+ store.erase(it);
if (bindData) {
if (bindData->controlSocket->thread() != QThread::currentThread()) {
qWarning("Can not access socks5 bind data from different thread");