File: Overlay/Kademlia/Kademlia.ned
C++ definition: click here
The main module of the Kademlia implementation
Author: Sebastian Mies
The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.
Name | Type | Description |
---|---|---|
localPort | numeric | base overlay parameters |
debugOutput | bool | enable debug output |
keyLength | numeric | overlay key length in bits |
measureNetwInitPhase | bool | gather statistics when bootstrapping |
drawOverlayTopology | bool | draw arrow to successor node? |
hopCountMax | numeric | maximum number of overlay hops |
lookupNumberNextHops | numeric | lookup parameters |
lookupParallelPaths | numeric | number of parallel paths |
lookupParallelRpcs | numeric | number of nodes to ask in parallel |
lookupSecure | bool | true, if all nodes should be identified with a ping |
lookupMerge | bool | true, if parallel Rpc results should be merged |
useBaseLookup | bool | use the base lookup class |
iterativeLookup | bool | do iterative instead of recursive lookups |
stabilizeDelay | numeric | kademlia parameters |
k | numeric | number of paths (size of k-bucket) |
b | numeric | network diameter O(log_{2^(b)}) |
s | numeric | number of siblings |
Name | Direction | Description |
---|---|---|
from_udp [ ] | input | gate from the UDP layer |
to_udp [ ] | output | gate to the UDP layer |
from_app | input | gate from the application |
to_app | output | gate to the application |
simple Kademlia parameters: // base overlay parameters localPort : numeric, // UDP port for Chord messages debugOutput : bool, // enable debug output keyLength : numeric, // overlay key length in bits measureNetwInitPhase: bool, // gather statistics when bootstrapping drawOverlayTopology : bool, // draw arrow to successor node? hopCountMax : numeric, // maximum number of overlay hops // lookup parameters lookupNumberNextHops : numeric, // number of next hops in each step lookupParallelPaths : numeric, // number of parallel paths lookupParallelRpcs : numeric, // number of nodes to ask in parallel lookupSecure : bool, // true, if all nodes should be identified with a ping lookupMerge : bool, // true, if parallel Rpc results should be merged useBaseLookup : bool, // use the base lookup class iterativeLookup : bool, // do iterative instead of recursive lookups // kademlia parameters stabilizeDelay : numeric, // stabilization delay k : numeric, // number of paths (size of k-bucket) b : numeric, // network diameter O(log_{2^(b)}) s : numeric; // number of siblings gates: in: from_udp[]; // gate from the UDP layer out: to_udp[]; // gate to the UDP layer in: from_app; // gate from the application out: to_app; // gate to the application endsimple