]> git.mxchange.org Git - quix0rs-apt-p2p.git/blobdiff - apt_dht/apt_dht_conf.py
Break up the find_value into 2 parts (with get_value).
[quix0rs-apt-p2p.git] / apt_dht / apt_dht_conf.py
index 626f0ffc32e394a580b1e122e5d38299319f9539..3fad6259f43cb55fc5367d68d31b7936ea017a6a 100644 (file)
@@ -16,25 +16,53 @@ if home == '${HOME}' or not os.path.isdir(home):
     home = os.path.expanduser('~')
     if not os.path.isdir(home):
         home = os.path.abspath(os.path.dirname(sys.argv[0]))
+DEFAULT_CONFIG_FILES=['/etc/apt-dht/apt-dht.conf',
+                      home + '/.apt-dht/apt-dht.conf']
 
 DEFAULTS = {
 
     # Port to listen on for all requests (TCP and UDP)
-    'port': '9977',
+    'PORT': '9977',
     
     # Directory to store the downloaded files in
-    'cache_dir': home + '/.apt-dht/cache',
+    'CACHE_DIR': home + '/.apt-dht/cache',
+    
+    # Other directories containing packages to share with others
+    # WARNING: all files in these directories will be hashed and available
+    #          for everybody to download
+    'OTHER_DIRS': """""",
     
     # User name to try and run as
-    'username': '',
+    'USERNAME': '',
+    
+    # Whether it's OK to use an IP addres from a known local/private range
+    'LOCAL_OK': 'no',
+
+    # Unload the packages cache after an interval of inactivity this long.
+    # The packages cache uses a lot of memory, and only takes a few seconds
+    # to reload when a new request arrives.
+    'UNLOAD_PACKAGES_CACHE': '5m',
 
-    # Which DHT implementation to use
+    # Refresh the DHT keys after this much time has passed.
+    # This should be a time slightly less than the DHT's KEY_EXPIRE value.
+    'KEY_REFRESH': '57m',
+
+    # Which DHT implementation to use.
+    # It must be possile to do "from <DHT>.DHT import DHT" to get a class that
+    # implements the IDHT interface.
     'DHT': 'apt_dht_Khashmir',
+
+    # Whether to only run the DHT (for providing only a bootstrap node)
+    'DHT-ONLY': 'no',
 }
 
 DHT_DEFAULTS = {
-    # magic id to use before we know a peer's id
-    'NULL_ID': 20 * '\0',
+    # bootstrap nodes to contact to join the DHT
+    'BOOTSTRAP': """www.camrdale.org:9977
+        steveholt.hopto.org:9976""",
+    
+    # whether this node is a bootstrap node
+    'BOOTSTRAP_NODE': "no",
     
     # Kademlia "K" constant, this should be an even number
     'K': '8',
@@ -43,7 +71,7 @@ DHT_DEFAULTS = {
     'HASH_LENGTH': '160',
     
     # checkpoint every this many seconds
-    'CHECKPOINT_INTERVAL': '15m', # fifteen minutes
+    'CHECKPOINT_INTERVAL': '5m', # five minutes
     
     ### SEARCHING/STORING
     # concurrent xmlrpc calls per find node/value request!
@@ -62,15 +90,11 @@ DHT_DEFAULTS = {
     # refresh buckets that haven't been touched in this long
     'BUCKET_STALENESS': '1h', # one hour
     
-    ###  KEY EXPIRER
-    # time before expirer starts running
-    'KEINITIAL_DELAY': '15s', # 15 seconds - to clean out old stuff in persistent db
-    
-    # time between expirer runs
-    'KE_DELAY': '20m', # 20 minutes
-    
     # expire entries older than this
-    'KE_AGE': '1h', # 60 minutes
+    'KEY_EXPIRE': '1h', # 60 minutes
+    
+    # whether to spew info about the requests/responses in the protocol
+    'SPEW': 'yes',
 }
 
 class AptDHTConfigParser(SafeConfigParser):
@@ -98,6 +122,8 @@ class AptDHTConfigParser(SafeConfigParser):
         return self.get(section,option)
     def getstringlist(self, section, option):
         return self.get(section,option).split()
+    def optionxform(self, option):
+        return option.upper()
 
 config = AptDHTConfigParser(DEFAULTS)
 config.add_section(config.get('DEFAULT', 'DHT'))