This commit is contained in:
Tatsuhiro Tsujikawa 2006-03-31 15:41:27 +00:00
parent f3096f8cd8
commit 3d3363a544
4 changed files with 21 additions and 21 deletions

View File

@ -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;

View File

@ -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();

View File

@ -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;
}

View File

@ -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";