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. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
Name | Type | Description |
---|---|---|
BaseApp | simple module |
Base class for application implementations |
Name | Type | Description |
---|---|---|
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 |
|
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 |
// // 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 }