Simple Module BootstrapList

Package: oversim.common
File: src/common/BootstrapList.ned

C++ definition

The BootstrapList module maintains a list of bootstrap node candidates received from various sources (GlobalNodeList for simulations and Zeroconf for SingleHostUnderlay). This list is also used to detect overlay partitions and triggers the merging process.

Author: Bin Zheng, Ingmar Baumgart

BootstrapList

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
InetOverlayHost compound module

Host that participates in the overlay

InetOverlayHost6 compound module

Host that participates in the overlay

OverlayAccessRouter compound module

Access router that participates in the overlay

OverlayAccessRouter6 compound module

Access router that participates in the overlay

OverlayRouter compound module

Router in the overlay network

OverlayRouter6 compound module

Router in the overlay network

ReaSEOverlayHost compound module

Host that participates in the overlay

SimpleMultiOverlayHost compound module

Host in the simple network that participates in the overlay

SimpleOverlayHost compound module

Host in the simple network that participates in the overlay

SingleHost compound module

simulates a single host to connect it to a real network

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

mergeOverlayPartitions bool

if true, detect and merge overlay partitions

maintainList bool

maintain a list of bootstrap candidates and check them periodically

Properties:

Name Value Description
class BootstrapList
display i=block/table

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:

//
// The BootstrapList module maintains a list of bootstrap node
// candidates received from various sources (GlobalNodeList for
// simulations and Zeroconf for SingleHostUnderlay). This list is also
// used to detect overlay partitions and triggers the merging process.
//
// @author Bin Zheng, Ingmar Baumgart
// 
simple BootstrapList extends BaseApp
{
    parameters:
        @class(BootstrapList);
        @display("i=block/table");
        bool mergeOverlayPartitions;  // if true, detect and merge overlay partitions
        bool maintainList; //maintain a list of bootstrap candidates and check them periodically
}