diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2021-07-10 23:17:04 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2021-07-28 02:01:21 +0200 |
commit | 99f0db695ab54ba0cd88c6a53ddd2d712525ecc3 (patch) | |
tree | d9e019d8bcd511916c88626f6aa201833be7ee8f /src | |
parent | 017eb5627b2389089c46d7f226f233651e7c0458 (diff) |
QNetworkReply: hold QAtomicInt in shared_ptr, not QSharedPointer
Ditto QNetworkAccessAuthenticationManager.
QSharedPointer performs twice as many atomic operations per pointer
copy as std::shared_ptr, and this is private API, we're not bound by
BC constraints, so we can port to the more efficient version.
Change-Id: I59dc09ff4eb3b4acf5d7a68695752a9a7110d8d3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/network/access/qhttpthreaddelegate_p.h | 6 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessmanager_p.h | 4 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyhttpimpl.cpp | 4 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyhttpimpl_p.h | 4 | ||||
-rw-r--r-- | src/network/access/qnetworkreplywasmimpl_p.h | 4 |
5 files changed, 11 insertions, 11 deletions
diff --git a/src/network/access/qhttpthreaddelegate_p.h b/src/network/access/qhttpthreaddelegate_p.h index f0b9b8edf3..bdafeb3693 100644 --- a/src/network/access/qhttpthreaddelegate_p.h +++ b/src/network/access/qhttpthreaddelegate_p.h @@ -97,13 +97,13 @@ public: qint64 readBufferMaxSize; qint64 bytesEmitted; // From backend, modified by us for signal compression - QSharedPointer<QAtomicInt> pendingDownloadData; - QSharedPointer<QAtomicInt> pendingDownloadProgress; + std::shared_ptr<QAtomicInt> pendingDownloadData; + std::shared_ptr<QAtomicInt> pendingDownloadProgress; #ifndef QT_NO_NETWORKPROXY QNetworkProxy cacheProxy; QNetworkProxy transparentProxy; #endif - QSharedPointer<QNetworkAccessAuthenticationManager> authenticationManager; + std::shared_ptr<QNetworkAccessAuthenticationManager> authenticationManager; bool synchronous; qint64 connectionCacheExpiryTimeoutSeconds; diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h index 3d5d7231b4..ad03cab9a2 100644 --- a/src/network/access/qnetworkaccessmanager_p.h +++ b/src/network/access/qnetworkaccessmanager_p.h @@ -86,7 +86,7 @@ public: cookieJarCreated(false), defaultAccessControl(true), redirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy), - authenticationManager(QSharedPointer<QNetworkAccessAuthenticationManager>::create()) + authenticationManager(std::make_shared<QNetworkAccessAuthenticationManager>()) { } ~QNetworkAccessManagerPrivate(); @@ -150,7 +150,7 @@ public: QNetworkRequest::RedirectPolicy redirectPolicy = QNetworkRequest::NoLessSafeRedirectPolicy; // The cache with authorization data: - QSharedPointer<QNetworkAccessAuthenticationManager> authenticationManager; + std::shared_ptr<QNetworkAccessAuthenticationManager> authenticationManager; // this cache can be used by individual backends to cache e.g. their TCP connections to a server // and use the connections for multiple requests. diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index 4fc1f81c95..a7b262a32d 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -478,8 +478,8 @@ QNetworkReplyHttpImplPrivate::QNetworkReplyHttpImplPrivate() , downloadBufferReadPosition(0) , downloadBufferCurrentSize(0) , downloadZerocopyBuffer(nullptr) - , pendingDownloadDataEmissions(QSharedPointer<QAtomicInt>::create()) - , pendingDownloadProgressEmissions(QSharedPointer<QAtomicInt>::create()) + , pendingDownloadDataEmissions(std::make_shared<QAtomicInt>()) + , pendingDownloadProgressEmissions(std::make_shared<QAtomicInt>()) #ifndef QT_NO_SSL , pendingIgnoreAllSslErrors(false) #endif diff --git a/src/network/access/qnetworkreplyhttpimpl_p.h b/src/network/access/qnetworkreplyhttpimpl_p.h index 8fb59cdd49..c2394488bd 100644 --- a/src/network/access/qnetworkreplyhttpimpl_p.h +++ b/src/network/access/qnetworkreplyhttpimpl_p.h @@ -247,8 +247,8 @@ public: char* downloadZerocopyBuffer; // Will be increased by HTTP thread: - QSharedPointer<QAtomicInt> pendingDownloadDataEmissions; - QSharedPointer<QAtomicInt> pendingDownloadProgressEmissions; + std::shared_ptr<QAtomicInt> pendingDownloadDataEmissions; + std::shared_ptr<QAtomicInt> pendingDownloadProgressEmissions; #ifndef QT_NO_SSL diff --git a/src/network/access/qnetworkreplywasmimpl_p.h b/src/network/access/qnetworkreplywasmimpl_p.h index 407890d837..83e39faddc 100644 --- a/src/network/access/qnetworkreplywasmimpl_p.h +++ b/src/network/access/qnetworkreplywasmimpl_p.h @@ -123,8 +123,8 @@ public: void _q_bufferOutgoingData(); void _q_bufferOutgoingDataFinished(); - QSharedPointer<QAtomicInt> pendingDownloadData; - QSharedPointer<QAtomicInt> pendingDownloadProgress; + std::shared_ptr<QAtomicInt> pendingDownloadData; + std::shared_ptr<QAtomicInt> pendingDownloadProgress; qint64 bytesDownloaded; qint64 bytesBuffered; |