Simple Module DHT

Package: oversim.applications.dht
File: src/applications/dht/DHT.ned

C++ definition

Simple module of the DHT

Author: Gregoire Menuel, Ingmar Baumgart

DHT

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

Name Type Description
BaseApp simple module

Base class for application implementations

Used in compound modules:

Name Type Description
DHTModules compound module

Compound module for a simple DHT using the KBR interface

Parameters:

Name Type Default value Description
rpcUdpTimeout double

default timeout value for direct RPCs

rpcKeyTimeout double

default timeout value for routed RPCs

optimizeTimeouts bool

calculate timeouts from measured RTTs and network coordinates

rpcExponentialBackoff bool

if true, doubles the timeout for every retransmission

debugOutput bool

enable debug output

numReplica int

number of replica for stored data records

numGetRequests int

number of queried replica for get requests

ratioIdentical double

ratio of identical replica needed for a valid result

secureMaintenance bool

use a secure maintenance algorithm based on majority decisions

invalidDataAttack bool

if node is malicious, it tries a invalidData attack

maintenanceAttack bool

if node is malicious, it tries a maintenance attack

Properties:

Name Value Description
class DHT
display i=block/app

Gates:

Name Direction Size Description
udpIn input

gate from the UDP layer

from_lowerTier input

gate from the lower tier

from_upperTier input

gate from the upper tier

direct_in input

gate for sendDirect

trace_in input

gate for trace file commands

tcpIn input

gate from the TCP layer

tcpOut output

gate to the TCP layer

udpOut output

gate to the UDP layer

to_lowerTier output

gate to the lower tier

to_upperTier output

gate to the upper tier

Source code:

//
// Simple module of the DHT
//
// @author Gregoire Menuel, Ingmar Baumgart
//
simple DHT extends BaseApp
{
    parameters:
        @class(DHT);
        int numReplica;  // number of replica for stored data records
        int numGetRequests; // number of queried replica for get requests
        double ratioIdentical; // ratio of identical replica needed for a valid result
        bool secureMaintenance; // use a secure maintenance algorithm based on majority decisions
        bool invalidDataAttack; // if node is malicious, it tries a invalidData attack
        bool maintenanceAttack; // if node is malicious, it tries a maintenance attack
}