diff --git a/ChangeLog b/ChangeLog index 1872565d..fe189b96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-01-06 Tatsuhiro Tsujikawa + + Added --enable-peer-exchange command-line option. + * src/OptionHandlerFactory.cc + * src/HelpItemFactory.cc + * src/option_processing.cc + * src/usage_text.h + 2008-01-06 Tatsuhiro Tsujikawa Move extension from BtRuntime to ExtensionMessageFactory, because diff --git a/src/HelpItemFactory.cc b/src/HelpItemFactory.cc index 7d530e0c..78027166 100644 --- a/src/HelpItemFactory.cc +++ b/src/HelpItemFactory.cc @@ -329,6 +329,11 @@ TagContainerHandle HelpItemFactory::createHelpItems() item->addTag(TAG_BITTORRENT); tc->addItem(item); } + { + HelpItemHandle item = new HelpItem(PREF_ENABLE_PEER_EXCHANGE, TEXT_ENABLE_PEER_EXCHANGE, V_TRUE); + item->addTag(TAG_BITTORRENT); + tc->addItem(item); + } #endif // ENABLE_BITTORRENT #ifdef ENABLE_METALINK { diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc index 274ea354..30fdfed3 100644 --- a/src/OptionHandlerFactory.cc +++ b/src/OptionHandlerFactory.cc @@ -108,6 +108,7 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers() handlers.push_back(new ParameterOptionHandler(PREF_METALINK_PREFERRED_PROTOCOL, Strings(¶ms[0], ¶ms[arrayLength(params)]))); } + handlers.push_back(new BooleanOptionHandler(PREF_ENABLE_PEER_EXCHANGE)); return handlers; } diff --git a/src/option_processing.cc b/src/option_processing.cc index 497bf06e..bb8699d2 100644 --- a/src/option_processing.cc +++ b/src/option_processing.cc @@ -200,6 +200,7 @@ Option* option_processing(int argc, char* const argv[]) { "seed-ratio", required_argument, &lopt, 23 }, { "max-upload-limit", required_argument, &lopt, 24 }, { "peer-id-prefix", required_argument, &lopt, 25 }, + { "enable-peer-exchange", optional_argument, &lopt, 26 }, #endif // ENABLE_BITTORRENT #ifdef ENABLE_METALINK { "metalink-file", required_argument, NULL, 'M' }, @@ -291,6 +292,10 @@ Option* option_processing(int argc, char* const argv[]) break; case 25: cmdstream << PREF_PEER_ID_PREFIX << "=" << optarg << "\n"; + break; + case 26: + cmdstream << PREF_ENABLE_PEER_EXCHANGE << "=" << toBoolArg(optarg) << "\n"; + break; case 100: cmdstream << PREF_METALINK_VERSION << "=" << optarg << "\n"; break; diff --git a/src/usage_text.h b/src/usage_text.h index 7647f274..c76a6329 100644 --- a/src/usage_text.h +++ b/src/usage_text.h @@ -254,6 +254,8 @@ _(" --peer-id-prefix=PEERI_ID_PREFIX Specify the prefix of peer ID. The peer ID " specified, the random alphabet characters are\n"\ " added to make it's length 20 bytes.\n"\ " Default: -aria2-") +#define TEXT_ENABLE_PEER_EXCHANGE \ +_(" --enable-peer-exchange[=true|false] Enable peer exchange extension.") #define TEXT_METALINK_FILE \ _(" -M, --metalink-file=METALINK_FILE The file path to the .metalink file.") #define TEXT_METALINK_SERVERS \