summaryrefslogtreecommitdiff
path: root/src/OptionHandlerFactory.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-07 14:15:21 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-07 14:15:21 +0000
commit26d66923767581d63fdfc303525cddebf9125bde (patch)
tree97eb6054d697b53c7296adfaeaa43fb8013de3f2 /src/OptionHandlerFactory.cc
parentbe7012272dbd029a7843df43466f4cd83e6fb9e3 (diff)
2010-08-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added IPv6 DHT. Added --dht-entry-porint6, --dht-file-path6, --dht-listen-addr6 and --enable-dht6 option. IPv6 DHT is disabled by default. To use IPv6 DHT, you need to use --enable-dht6 and specify a global unicast address to --dht-listen-addr6. IPv6 DHT is highly experimental. * src/BtSetup.cc * src/DHTAutoSaveCommand.cc * src/DHTAutoSaveCommand.h * src/DHTConnectionImpl.cc * src/DHTConnectionImpl.h * src/DHTEntryPointNameResolveCommand.cc * src/DHTFindNodeReplyMessage.cc * src/DHTFindNodeReplyMessage.h * src/DHTGetPeersMessage.cc * src/DHTGetPeersReplyMessage.cc * src/DHTGetPeersReplyMessage.h * src/DHTMessageFactory.h * src/DHTMessageFactoryImpl.cc * src/DHTMessageFactoryImpl.h * src/DHTMessageTracker.cc * src/DHTRegistry.cc * src/DHTRegistry.h * src/DHTRoutingTableDeserializer.cc * src/DHTRoutingTableDeserializer.h * src/DHTRoutingTableSerializer.cc * src/DHTRoutingTableSerializer.h * src/DHTSetup.cc * src/DHTSetup.h * src/FtpConnection.cc * src/LpdMessageReceiver.cc * src/OptionHandlerFactory.cc * src/OptionHandlerImpl.h * src/PeerInteractionCommand.cc * src/RequestGroup.cc * src/SocketCore.cc * src/SocketCore.h * src/bittorrent_helper.cc * src/bittorrent_helper.h * src/prefs.cc * src/prefs.h * src/usage_text.h * test/DHTConnectionImplTest.cc * test/DHTFindNodeReplyMessageTest.cc * test/DHTGetPeersMessageTest.cc * test/DHTGetPeersReplyMessageTest.cc * test/DHTMessageFactoryImplTest.cc * test/DHTRoutingTableDeserializerTest.cc * test/DHTRoutingTableSerializerTest.cc * test/LpdMessageDispatcherTest.cc * test/MockDHTMessageFactory.h
Diffstat (limited to 'src/OptionHandlerFactory.cc')
-rw-r--r--src/OptionHandlerFactory.cc48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc
index 52dafb22..7766ef0a 100644
--- a/src/OptionHandlerFactory.cc
+++ b/src/OptionHandlerFactory.cc
@@ -1326,6 +1326,16 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
+ SharedHandle<OptionHandler> op(new HostPortOptionHandler
+ (PREF_DHT_ENTRY_POINT6,
+ TEXT_DHT_ENTRY_POINT6,
+ NO_DEFAULT_VALUE,
+ PREF_DHT_ENTRY_POINT_HOST6,
+ PREF_DHT_ENTRY_POINT_PORT6));
+ op->addTag(TAG_BITTORRENT);
+ handlers.push_back(op);
+ }
+ {
SharedHandle<OptionHandler> op(new DefaultOptionHandler
(PREF_DHT_FILE_PATH,
TEXT_DHT_FILE_PATH,
@@ -1335,6 +1345,34 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
+ SharedHandle<OptionHandler> op(new DefaultOptionHandler
+ (PREF_DHT_FILE_PATH6,
+ TEXT_DHT_FILE_PATH6,
+ util::getHomeDir()+"/.aria2/dht6.dat",
+ "/PATH/TO/DHT_DAT"));
+ op->addTag(TAG_BITTORRENT);
+ handlers.push_back(op);
+ }
+ {
+ SharedHandle<OptionHandler> op(new DefaultOptionHandler
+ (PREF_DHT_LISTEN_ADDR,
+ NO_DESCRIPTION,
+ NO_DEFAULT_VALUE));
+ op->hide();
+ op->addTag(TAG_BASIC);
+ op->addTag(TAG_BITTORRENT);
+ handlers.push_back(op);
+ }
+ {
+ SharedHandle<OptionHandler> op(new DefaultOptionHandler
+ (PREF_DHT_LISTEN_ADDR6,
+ TEXT_DHT_LISTEN_ADDR6,
+ NO_DEFAULT_VALUE));
+ op->addTag(TAG_BASIC);
+ op->addTag(TAG_BITTORRENT);
+ handlers.push_back(op);
+ }
+ {
SharedHandle<OptionHandler> op(new IntegerRangeOptionHandler
(PREF_DHT_LISTEN_PORT,
TEXT_DHT_LISTEN_PORT,
@@ -1365,6 +1403,16 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
}
{
SharedHandle<OptionHandler> op(new BooleanOptionHandler
+ (PREF_ENABLE_DHT6,
+ TEXT_ENABLE_DHT6,
+ V_FALSE,
+ OptionHandler::OPT_ARG));
+ op->addTag(TAG_BASIC);
+ op->addTag(TAG_BITTORRENT);
+ handlers.push_back(op);
+ }
+ {
+ SharedHandle<OptionHandler> op(new BooleanOptionHandler
(PREF_ENABLE_PEER_EXCHANGE,
TEXT_ENABLE_PEER_EXCHANGE,
V_TRUE,