mirror of
https://github.com/aria2/aria2.git
synced 2025-02-26 08:22:11 +00:00
This commit is contained in:
parent
f3096f8cd8
commit
3d3363a544
@ -52,15 +52,15 @@ void TorrentConsoleDownloadEngine::initStatistics() {
|
||||
lastElapsed = 0;
|
||||
gettimeofday(&cp[0], NULL);
|
||||
gettimeofday(&cp[1], NULL);
|
||||
sessionDownloadSize[0] = 0;
|
||||
sessionDownloadSize[1] = 0;
|
||||
sessionUploadSize[0] = 0;
|
||||
sessionUploadSize[1] = 0;
|
||||
sessionDownloadLengthArray[0] = 0;
|
||||
sessionDownloadLengthArray[1] = 0;
|
||||
sessionUploadLengthArray[0] = 0;
|
||||
sessionUploadLengthArray[1] = 0;
|
||||
currentCp = 0;
|
||||
}
|
||||
|
||||
int TorrentConsoleDownloadEngine::calculateSpeed(long long int sessionSize, long long int elapsed) {
|
||||
int nowSpeed = (int)(sessionSize/(elapsed/1000000.0));
|
||||
int TorrentConsoleDownloadEngine::calculateSpeed(long long int sessionLength, long long int elapsed) {
|
||||
int nowSpeed = (int)(sessionLength/(elapsed/1000000.0));
|
||||
return nowSpeed;
|
||||
}
|
||||
|
||||
@ -69,13 +69,13 @@ void TorrentConsoleDownloadEngine::calculateStatistics() {
|
||||
gettimeofday(&now, NULL);
|
||||
long long int elapsed = Util::difftv(now, cp[currentCp]);
|
||||
|
||||
sessionDownloadSize[0] += torrentMan->getDeltaDownloadLength();
|
||||
sessionUploadSize[0] += torrentMan->getDeltaUploadLength();
|
||||
sessionDownloadSize[1] += torrentMan->getDeltaDownloadLength();
|
||||
sessionUploadSize[1] += torrentMan->getDeltaUploadLength();
|
||||
sessionDownloadLengthArray[0] += torrentMan->getDeltaDownloadLength();
|
||||
sessionUploadLengthArray[0] += torrentMan->getDeltaUploadLength();
|
||||
sessionDownloadLengthArray[1] += torrentMan->getDeltaDownloadLength();
|
||||
sessionUploadLengthArray[1] += torrentMan->getDeltaUploadLength();
|
||||
|
||||
downloadSpeed = calculateSpeed(sessionDownloadSize[currentCp], elapsed);
|
||||
uploadSpeed = calculateSpeed(sessionUploadSize[currentCp], elapsed);
|
||||
downloadSpeed = calculateSpeed(sessionDownloadLengthArray[currentCp], elapsed);
|
||||
uploadSpeed = calculateSpeed(sessionUploadLengthArray[currentCp], elapsed);
|
||||
|
||||
torrentMan->resetDeltaDownloadLength();
|
||||
torrentMan->resetDeltaUploadLength();
|
||||
@ -86,8 +86,8 @@ void TorrentConsoleDownloadEngine::calculateStatistics() {
|
||||
}
|
||||
|
||||
if(elapsed > 15*1000000) {
|
||||
sessionDownloadSize[currentCp] = 0;
|
||||
sessionUploadSize[currentCp] = 0;
|
||||
sessionDownloadLengthArray[currentCp] = 0;
|
||||
sessionUploadLengthArray[currentCp] = 0;
|
||||
cp[currentCp] = now;
|
||||
lastElapsed = 0;
|
||||
currentCp = currentCp ? 0 : 1;
|
||||
|
@ -32,15 +32,15 @@ private:
|
||||
long long int sessionUploadSize;
|
||||
*/
|
||||
struct timeval cp[2];
|
||||
long long int sessionDownloadSize[2];
|
||||
long long int sessionUploadSize[2];
|
||||
long long int sessionDownloadLengthArray[2];
|
||||
long long int sessionUploadLengthArray[2];
|
||||
int currentCp;
|
||||
|
||||
int downloadSpeed;
|
||||
int uploadSpeed;
|
||||
long long int lastElapsed;
|
||||
void printStatistics();
|
||||
int calculateSpeed(long long int sessionSize, long long int elapsed);
|
||||
int calculateSpeed(long long int sessionLength, long long int elapsed);
|
||||
protected:
|
||||
void initStatistics();
|
||||
void calculateStatistics();
|
||||
|
@ -192,10 +192,10 @@ public:
|
||||
long long int getUploadLength() const { return uploadLength; }
|
||||
void setUploadLength(long long int length) { uploadLength = length; }
|
||||
|
||||
long long int getSessionDownloadedSize() const {
|
||||
long long int getSessionDownloadLength() const {
|
||||
return downloadLength-preDownloadLength;
|
||||
}
|
||||
long long int getSessionUploadedSize() const {
|
||||
long long int getSessionUploadLength() const {
|
||||
return uploadLength-preUploadLength;
|
||||
}
|
||||
|
||||
|
@ -57,8 +57,8 @@ bool TrackerInitCommand::execute() {
|
||||
"info_hash="+Util::urlencode(e->torrentMan->getInfoHash(), 20)+"&"+
|
||||
"peer_id="+e->torrentMan->peerId+"&"+
|
||||
"port="+Util::itos(e->torrentMan->getPort())+"&"+
|
||||
"uploaded="+Util::llitos(e->torrentMan->getSessionUploadedSize())+"&"+
|
||||
"downloaded="+Util::llitos(e->torrentMan->getSessionDownloadedSize())+"&"+
|
||||
"uploaded="+Util::llitos(e->torrentMan->getSessionUploadLength())+"&"+
|
||||
"downloaded="+Util::llitos(e->torrentMan->getSessionDownloadLength())+"&"+
|
||||
"left="+(e->torrentMan->getTotalLength()-e->torrentMan->getDownloadLength() <= 0
|
||||
? "0" : Util::llitos(e->torrentMan->getTotalLength()-e->torrentMan->getDownloadLength()))+"&"+
|
||||
"compact=1";
|
||||
|
Loading…
Reference in New Issue
Block a user