diff options
Diffstat (limited to 'kademlia/__init__.py')
| -rw-r--r-- | kademlia/__init__.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/kademlia/__init__.py b/kademlia/__init__.py new file mode 100644 index 0000000..4ed7d81 --- /dev/null +++ b/kademlia/__init__.py @@ -0,0 +1,30 @@ +# This library is free software, distributed under the terms of +# the GNU Lesser General Public License Version 3, or any later version. +# See the COPYING file included in this archive + +""" Kademlia DHT implementation + +This package contains Entangled's implementation of the Kademlia +distributed hash table (DHT). + +The main modules in this package are "C{node}" (which contains the Kademlia +implementation's main interface, namely the C{Node} class), "C{datastore}" +(physical data storage mechanisms), "C{constants}" (several constant values +defining the Kademlia network), "C{routingtable}" (different Kademlia routing +table implementations) and "C{protocol}" (actual network communications). + +The Node class is directly exposed in the main Entangled package +("C{entangled}") as KademliaNode, and as Node in this package +("C{entangled.kademlia}"). It is designed to be customizable; the data storage +mechansims may (and should) be directly specified by client applications via +the node's contructor. The same holds true for the node's routing table and +network protocol used. This potentially allows the Kademlia node to be used +with a TCP-based protocol, instead of the provided UDP-based one. + +Client applications should also modify the values found in +C{entangled.kademlia.constants} to suit their needs. Refer to the C{constants} +module for documentation on what these values control. +""" + +from node import Node +from datastore import DictDataStore, SQLiteDataStore |
