Changeset 561 for trunk/demos/browser/networkaccessmanager.cpp
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/demos/browser/networkaccessmanager.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the demonstration applications of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 58 58 #include <QtNetwork/QNetworkDiskCache> 59 59 #include <QtNetwork/QNetworkProxy> 60 #include <QtNetwork/QNetworkRequest> 60 61 #include <QtNetwork/QNetworkReply> 61 62 #include <QtNetwork/QSslError> 62 63 63 64 NetworkAccessManager::NetworkAccessManager(QObject *parent) 64 : QNetworkAccessManager(parent) 65 { 66 connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), 65 : QNetworkAccessManager(parent), 66 requestFinishedCount(0), requestFinishedFromCacheCount(0), requestFinishedPipelinedCount(0), 67 requestFinishedSecureCount(0) 68 { 69 connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), 67 70 SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*))); 68 connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)), 69 SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))); 71 connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), 72 SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); 73 connect(this, SIGNAL(finished(QNetworkReply*)), 74 SLOT(requestFinished(QNetworkReply*))); 70 75 #ifndef QT_NO_OPENSSL 71 connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),72 SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&)));76 connect(this, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), 77 SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); 73 78 #endif 74 79 loadSettings(); … … 78 83 diskCache->setCacheDirectory(location); 79 84 setCache(diskCache); 85 } 86 87 QNetworkReply* NetworkAccessManager::createRequest(Operation op, const QNetworkRequest & req, QIODevice * outgoingData) 88 { 89 QNetworkRequest request = req; // copy so we can modify 90 // this is a temporary hack until we properly use the pipelining flags from QtWebkit 91 // pipeline everything! :) 92 request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); 93 return QNetworkAccessManager::createRequest(op, request, outgoingData); 94 } 95 96 void NetworkAccessManager::requestFinished(QNetworkReply *reply) 97 { 98 requestFinishedCount++; 99 100 if (reply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool() == true) 101 requestFinishedFromCacheCount++; 102 103 if (reply->attribute(QNetworkRequest::HttpPipeliningWasUsedAttribute).toBool() == true) 104 requestFinishedPipelinedCount++; 105 106 if (reply->attribute(QNetworkRequest::ConnectionEncryptedAttribute).toBool() == true) 107 requestFinishedSecureCount++; 108 109 if (requestFinishedCount % 10) 110 return; 111 112 double pctCached = (double(requestFinishedFromCacheCount) * 100.0/ double(requestFinishedCount)); 113 double pctPipelined = (double(requestFinishedPipelinedCount) * 100.0/ double(requestFinishedCount)); 114 double pctSecure = (double(requestFinishedSecureCount) * 100.0/ double(requestFinishedCount)); 115 qDebug("STATS [%lli requests total] [%3.2f%% from cache] [%3.2f%% pipelined] [%3.2f%% SSL/TLS]", requestFinishedCount, pctCached, pctPipelined, pctSecure); 116 80 117 } 81 118
Note:
See TracChangeset
for help on using the changeset viewer.