The main module of the P2PNS implementation
Author: Ingmar Baumgart
The following diagram shows usage relationships between types.
Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type.
Unresolved types are missing from the diagram.
BaseApp (simple module) |
Base class for application implementations |
If a module type shows up more than once, that means it has been defined in more than one NED file.
P2pnsModules (compound module) |
Implementation of "P2PNS: A distributed name service for P2PSIP" |
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 |
|
twoStageResolution | bool |
enable two stage name resolution (KBR/DHT) |
|
keepaliveInterval | double |
interval between two keeaplive pings for active connections |
|
idCacheLifetime | double |
idle connections in the idCache get deleted after this time |
|
registerName | string |
register the P2PNS id under this name |
Name | Value | Description |
---|---|---|
class | P2pns | |
display | i=block/app |
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 |
|
udpOut | output |
gate to the UDP layer |
|
to_lowerTier | output |
gate to the lower tier |
|
to_upperTier | output |
gate to the upper tier |
// // The main module of the P2PNS implementation // // @author Ingmar Baumgart // simple P2pns extends BaseApp { parameters: @class(P2pns); bool twoStageResolution; // enable two stage name resolution (KBR/DHT) double keepaliveInterval @unit(s); // interval between two keeaplive pings for active connections double idCacheLifetime @unit(s); // idle connections in the idCache get deleted after this time string registerName; // register the P2PNS id under this name }