diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-08-04 17:06:47 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-08-04 17:06:47 +0000 |
| commit | d64c8e75f6c3b6895f51036e5d16ad696dfe0f66 (patch) | |
| tree | a9f70ca4f9885772f032c9d30d7ecdbd9fa30c5d /src/OptionHandlerFactory.cc | |
| parent | 7449aba847b876cebaee7c02260a4d0b2ec491bd (diff) | |
2008-08-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Implemented download speed based URI selection algorithm.
Introduced new option --uri-selector.
If --uri-selector=feedback is given, aria2 uses download speed
observed
in the previous downloads and chooses fastest server in the URI
list.
Currently at most 10 URIs are considered to introduce
randomeness for
finding better servers. The speed is average download speed in
the
downloads.
On the other hand, if --uri-selector=inorder is given, which is
default,
URI is tried in order in URI list.
The usage text for the new option has not been written yet.
* src/AbstractCommand.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/DownloadEngineFactory.cc
* src/InOrderURISelector.cc
* src/InOrderURISelector.h
* src/OptionHandlerFactory.cc
* src/PeerStat.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/SegmentMan.cc
* src/SegmentMan.h
* src/ServerStat.cc
* src/ServerStat.h
* src/ServerStatMan.cc
* src/ServerStatMan.h
* src/ServerStatURISelector.cc
* src/ServerStatURISelector.h
* src/URISelector.h
* src/option_processing.cc
* src/prefs.cc
* src/prefs.h
* test/InOrderURISelectorTest.cc
* test/RequestGroupManTest.cc
* test/ServerStatManTest.cc
* test/ServerStatURISelectorTest.cc
Diffstat (limited to 'src/OptionHandlerFactory.cc')
| -rw-r--r-- | src/OptionHandlerFactory.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc index f7d873de..8153f6eb 100644 --- a/src/OptionHandlerFactory.cc +++ b/src/OptionHandlerFactory.cc @@ -143,6 +143,13 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers() ¶ms[arrayLength(params)])))); } handlers.push_back(SH(new BooleanOptionHandler(PREF_BT_SEED_UNVERIFIED))); + { + const std::string params[] = { V_INORDER, V_FEEDBACK }; + handlers.push_back(SH(new ParameterOptionHandler + (PREF_URI_SELECTOR, + std::deque<std::string> + (¶ms[0], ¶ms[arrayLength(params)])))); + } return handlers; } |
