diff options
Diffstat (limited to 'src/ConsoleDownloadEngine.cc')
| -rw-r--r-- | src/ConsoleDownloadEngine.cc | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/src/ConsoleDownloadEngine.cc b/src/ConsoleDownloadEngine.cc deleted file mode 100644 index 5237ba16..00000000 --- a/src/ConsoleDownloadEngine.cc +++ /dev/null @@ -1,210 +0,0 @@ -/* <!-- copyright */ -/* - * aria2 - The high speed download utility - * - * Copyright (C) 2006 Tatsuhiro Tsujikawa - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * In addition, as a special exception, the copyright holders give - * permission to link the code of portions of this program with the - * OpenSSL library under certain conditions as described in each - * individual source file, and distribute linked combinations - * including the two. - * You must obey the GNU General Public License in all respects - * for all of the code used other than OpenSSL. If you modify - * file(s) with this exception, you may extend this exception to your - * version of the file(s), but you are not obligated to do so. If you - * do not wish to do so, delete this exception statement from your - * version. If you delete this exception statement from all source - * files in the program, then also delete it here. - */ -/* copyright --> */ -#include "ConsoleDownloadEngine.h" -#include "Util.h" -#include <signal.h> -#include <iomanip> - -volatile sig_atomic_t haltRequested = 0; - -ConsoleDownloadEngine::ConsoleDownloadEngine() {} - -ConsoleDownloadEngine::~ConsoleDownloadEngine() {} - -void ConsoleDownloadEngine::sendStatistics(int64_t currentSize, int64_t totalSize) { - cout << "\r "; - cout << "\r"; - if(_requestGroupMan->countRequestGroup() > 0) { - RequestGroupHandle firstRequestGroup = _requestGroupMan->getRequestGroup(0); - int32_t dlSpeed = firstRequestGroup->calculateDownloadSpeed(); - int32_t eta = 0; - if(firstRequestGroup->getTotalLength() > 0 && dlSpeed > 0) { - eta = (firstRequestGroup->getTotalLength()-firstRequestGroup->getDownloadLength())/dlSpeed; - } - - cout << "[" - << "#" << firstRequestGroup->getGID() << " " - << "SIZE:" - << Util::abbrevSize(firstRequestGroup->getDownloadLength()) - << "B" - << "/" - << Util::abbrevSize(firstRequestGroup->getTotalLength()) - << "B"; - if(firstRequestGroup->getTotalLength() > 0) { - cout << "(" - << 100*firstRequestGroup->getDownloadLength()/firstRequestGroup->getTotalLength() - << "%)"; - } - cout << " " - << "CN:" - << firstRequestGroup->numConnection; - cout << " " - << "SPD:" - << fixed << setprecision(2) << dlSpeed/1024.0 << "KiB/s"; - if(eta > 0) { - cout << " " - << "ETA:" - << Util::secfmt(eta); - } - cout << "]"; - if(_requestGroupMan->countRequestGroup() > 1) { - cout << "(" - << _requestGroupMan->countRequestGroup()-1 - << "more...)"; - } - } - - if(_requestGroupMan->countRequestGroup() > 1) { - cout << " " - << "[TOTAL SPD:" - << fixed << setprecision(2) << speed/1024.0 << "KiB/s" << "]"; - } - - { - FileAllocationEntryHandle entry = _fileAllocationMan->getCurrentFileAllocationEntry(); - if(!entry.isNull()) { - cout << " " - << "[FileAlloc:" - << "#" << entry->getRequestGroup()->getGID() << " " - << Util::abbrevSize(entry->getCurrentLength()) - << "B" - << "/" - << Util::abbrevSize(entry->getTotalLength()) - << "B" - << "(" - << 100*entry->getCurrentLength()/entry->getTotalLength() - << "%)"; - cout << "]"; - if(_fileAllocationMan->countFileAllocationEntryInQueue() > 0) { - cout << "(" - << _fileAllocationMan->countFileAllocationEntryInQueue() - << "waiting...)"; - } - } - } -#ifdef ENABLE_MESSAGE_DIGEST - { - CheckIntegrityEntryHandle entry = _checkIntegrityMan->getFirstCheckIntegrityEntry(); - if(!entry.isNull()) { - cout << " " - << "[Checksum:" - << "#" << entry->getRequestGroup()->getGID() << " " - << Util::abbrevSize(entry->getCurrentLength()) - << "B" - << "/" - << Util::abbrevSize(entry->getTotalLength()) - << "B" - << "(" - << 100*entry->getCurrentLength()/entry->getTotalLength() - << "%)"; - cout << "]"; - if(_checkIntegrityMan->countCheckIntegrityEntry() > 1) { - cout << "(" - << _checkIntegrityMan->countCheckIntegrityEntry()-1 - << "more...)"; - } - } - } -#endif // ENABLE_MESSAGE_DIGEST - cout << flush; -} - -void ConsoleDownloadEngine::initStatistics() { - cp.reset(); - startup.reset(); - speed = 0; - psize = 0; - avgSpeed = 0; - eta = 0; - startupLength = 0; - isStartupLengthSet = false; -} - -void ConsoleDownloadEngine::calculateStatistics() { - int64_t dlSize = _requestGroupMan->getDownloadLength(); - if(!isStartupLengthSet && dlSize > 0) { - startupLength = dlSize; - psize = dlSize; - isStartupLengthSet = true; - } - int32_t elapsed = cp.difference(); - if(elapsed >= 1) { - int32_t nspeed = (dlSize-psize)/elapsed; - if(nspeed < 0) { - nspeed = 0; - } - speed = (nspeed+speed)/2; - cp.reset(); - psize = dlSize; - - int32_t elapsedFromStartup = startup.difference(); - if(elapsedFromStartup > 0) { - avgSpeed = (dlSize-startupLength)/elapsedFromStartup; - } - int64_t totalLength = _requestGroupMan->getTotalLength(); - if(avgSpeed < 0) { - avgSpeed = 0; - } else if(avgSpeed != 0 && totalLength > 0) { - eta = (totalLength-dlSize)/avgSpeed; - } - - sendStatistics(dlSize, totalLength); - } -} - -void ConsoleDownloadEngine::onEndOfRun() { - _requestGroupMan->closeFile(); -// if(segmentMan->finished()) { -// segmentMan->remove(); -// } else { -// segmentMan->save(); -// } -} - -void ConsoleDownloadEngine::afterEachIteration() { - if(haltRequested) { - printf(_("\nstopping application...\n")); - fflush(stdout); - _requestGroupMan->save(); - _requestGroupMan->closeFile(); - printf(_("done\n")); - exit(EXIT_SUCCESS); - } -} - -void ConsoleDownloadEngine::fillCommand() -{ - addCommand(_requestGroupMan->getInitialCommands(this)); -} |
