Author: jkupec
Date: Mon Mar 10 13:25:45 2008
New Revision: 9074
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9074&view=rev
Log:
- provide download rate info (avg and curent) for ftp/http (#168935)
Modified:
trunk/libzypp/zypp/ZYppCallbacks.h
trunk/libzypp/zypp/media/MediaCurl.cc
Modified: trunk/libzypp/zypp/ZYppCallbacks.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/ZYppCallbacks.h?rev=9074&r1=9073&r2=9074&view=diff
==============================================================================
--- trunk/libzypp/zypp/ZYppCallbacks.h (original)
+++ trunk/libzypp/zypp/ZYppCallbacks.h Mon Mar 10 13:25:45 2008
@@ -322,7 +322,9 @@
virtual void start( const Url &/*file*/, Pathname /*localfile*/ ) {}
- virtual bool progress(int /*value*/, const Url &/*file*/)
+ virtual bool progress(int /*value*/, const Url &/*file*/,
+ double dbps_avg = -1,
+ double dbps_current = -1)
{ return true; }
virtual Action problem(
Modified: trunk/libzypp/zypp/media/MediaCurl.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/media/MediaCurl.cc?rev=9074&r1=9073&r2=9074&view=diff
==============================================================================
--- trunk/libzypp/zypp/media/MediaCurl.cc (original)
+++ trunk/libzypp/zypp/media/MediaCurl.cc Mon Mar 10 13:25:45 2008
@@ -120,6 +120,10 @@
: timeout(_timeout)
, reached(false)
, report(_report)
+ , drate_period(-1)
+ , dload_period(0)
+ , secs(0)
+ , drate_avg(-1)
, ltime( time(NULL))
, dload( 0)
, uload( 0)
@@ -128,8 +132,19 @@
long timeout;
bool reached;
callback::SendReport<DownloadProgressReport> *report;
+ // download rate of the last period (cca 1 sec)
+ double drate_period;
+ // bytes downloaded at the start of the last period
+ double dload_period;
+ // seconds from the start of the download
+ long secs;
+ // average download rate
+ double drate_avg;
+ // last time the progress was reported
time_t ltime;
+ // bytes downloaded at the moment the progress was last reported
double dload;
+ // bytes uploaded at the moment the progress was last reported
double uload;
zypp::Url url;
};
@@ -1474,16 +1489,57 @@
//
// DESCRIPTION : Progress callback triggered from MediaCurl::getFile
//
-int MediaCurl::progressCallback( void *clientp, double dltotal, double dlnow,
- double ultotal, double ulnow )
+int MediaCurl::progressCallback( void *clientp,
+ double dltotal, double dlnow,
+ double ultotal, double ulnow)
{
ProgressData *pdata = reinterpret_cast