Compound Module OverlayI3

Package: oversim.applications.i3
File: src/applications/i3/OverlayI3.ned

Container for I3 module and trigger table

Author: Antonio Zea

I3 TriggerTable

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.

Parameters:

Name Type Default value Description
debugOutput bool

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

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

Unassigned submodule parameters:

Name Type Default value Description
i3.rpcUdpTimeout double

default timeout value for direct RPCs

i3.rpcKeyTimeout double

default timeout value for routed RPCs

i3.optimizeTimeouts bool

calculate timeouts from measured RTTs and network coordinates

i3.rpcExponentialBackoff bool

if true, doubles the timeout for every retransmission

i3.debugOutput bool

enable debug output

i3.triggerTimeToLive int

expiration time for triggers

i3.serverPort int

server port

Source code:

// Container for I3 module and trigger table
// @author Antonio Zea
module OverlayI3 like ITier
{
    parameters:
        bool debugOutput;

    gates:
        input udpIn;    // gate from the UDP layer
        input from_lowerTier;    // gate from the lower tier
        input from_upperTier;    // gate from the upper tier
        input tcpIn;    // gate from the TCP layer
        output tcpOut;    // gate to the TCP layer
        output udpOut;    // gate to the UDP layer
        output to_lowerTier;    // gate to the lower tier
        output to_upperTier;    // gate to the upper tier

    submodules:
        i3: I3;
        triggerTable: TriggerTable;
    connections allowunconnected:
        udpIn --> i3.udpIn;
        udpOut <-- i3.udpOut;
        from_lowerTier --> i3.from_lowerTier;
        to_lowerTier <-- i3.to_lowerTier;
        from_upperTier --> i3.from_upperTier;
        to_upperTier <-- i3.to_upperTier;
}