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>
This commit is contained in:
parent
017eb5627b
commit
99f0db695a
@ -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;
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user