Simple Module PubSubMMOG

File: Overlay/PubSubMMOG/PubSubMMOG.ned

C++ definition: click here

(no description)

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

OverlayPubSubMMOG (no description)

Parameters:

Name Type Description
areaDimension numeric

size of the play filed

numSubspaces numeric

number of regions in each direction

joinDelay numeric

delay between join retries (sec)

parentTimeout numeric

seconds until a node assumes that a particular parent has failed

maxChildren numeric

the maximum number of childs in the laodbalancing tree

movementRate numeric

the number of movement updates per sec

AOIWidth numeric

the size of the area of interest (i.e. subscriptionSize)

maxMoveDelay numeric

time after which a move message is considered to be too late

localPort numeric

UDP port for PubSubMMOG messages

debugOutput bool

enable debug output

keyLength numeric

overlay key length in bits

drawOverlayTopology bool

draw arrow to successor node?

hopCountMax numeric

maximum number of overlay hops

useCommonAPIforward bool

enable CommonAPI forward() calls

joinOnApplicationRequest bool

only join the overlay on application request

recNumRedundantNodes numeric

numRedundantNodes for recursive routing

lookupParallelPaths numeric

number of parallel paths

lookupParallelRpcs numeric

number of nodes to ask in parallel

lookupSecure bool

true, if all nodes should be identified with a ping

lookupMerge bool

true, if parallel Rpc results should be merged

lookupStrictParallelRpcs bool

limited the number of concurrent rpcs to parameter parallelRpcs

lookupUseAllParallelResponses bool

merge all parallel responses from earlier steps

lookupNewRpcOnEveryTimeout bool

send a new RPC immediately after an RPC timeouts

lookupNewRpcOnEveryResponse bool

send a new RPC after every response, even if there was no progress

lookupFinishOnFirstUnchanged bool

finish lookup, if the last pending RPC returned without progress

lookupFailedNodeRpcs bool

communicate failed nodes

lookupRedundantNodes numeric

number of next hops in each step

routingType string

default routing mode (iterative, semi-recursive,...)

routeMsgAcks bool

use RPCs for route messages

collectPerHopDelay bool

delay statistics for single hops

Gates:

Name Direction Description
from_udp [ ] input

gate from the UDP layer

to_udp [ ] output

gate to the UDP layer

from_app input

gate from the application

to_app output

gate to the application

direct_in input

gate for RPC sendDirect

Source code:

simple PubSubMMOG
    parameters:
        areaDimension: numeric, // size of the play filed
        numSubspaces: numeric, // number of regions in each direction
        joinDelay : numeric,           // delay between join retries (sec)
        parentTimeout: numeric, //seconds until a node assumes that a particular parent has failed
        maxChildren : numeric,  // the maximum number of childs in the laodbalancing tree
        movementRate : numeric, // the number of movement updates per sec
        AOIWidth : numeric,     // the size of the area of interest (i.e. subscriptionSize)
        maxMoveDelay : numeric, // time after which a move message is considered to be too late
        localPort: numeric,    // UDP port for PubSubMMOG messages
        debugOutput: bool,    // enable debug output
        keyLength : numeric,    // overlay key length in bits
        drawOverlayTopology : bool,    // draw arrow to successor node?
        hopCountMax : numeric,    // maximum number of overlay hops
        useCommonAPIforward : bool,      // enable CommonAPI forward() calls
        joinOnApplicationRequest : bool,    // only join the overlay on application request
        recNumRedundantNodes : numeric, // numRedundantNodes for recursive routing

        lookupParallelPaths : numeric,    // number of parallel paths
        lookupParallelRpcs : numeric,    // number of nodes to ask in parallel
        lookupSecure : bool,    // true, if all nodes should be identified with a ping
        lookupMerge : bool,    // true, if parallel Rpc results should be merged
        lookupStrictParallelRpcs: bool, // limited the number of concurrent rpcs to parameter parallelRpcs
        lookupUseAllParallelResponses: bool, // merge all parallel responses from earlier steps
        lookupNewRpcOnEveryTimeout: bool, // send a new RPC immediately after an RPC timeouts
        lookupNewRpcOnEveryResponse: bool, // send a new RPC after every response, even if there was no progress
        lookupFinishOnFirstUnchanged: bool, // finish lookup, if the last pending RPC returned without progress                                        
        lookupFailedNodeRpcs : bool,    // communicate failed nodes
        lookupRedundantNodes : numeric,    // number of next hops in each step

        routingType : string, // default routing mode (iterative, semi-recursive,...)
        routeMsgAcks : bool,            // use RPCs for route messages
        collectPerHopDelay : bool;    // delay statistics for single hops

    gates:
        in: from_udp[];    // gate from the UDP layer
        out: to_udp[];    // gate to the UDP layer
        in: from_app;    // gate from the application
        out: to_app;    // gate to the application
        in: direct_in;    // gate for RPC sendDirect
endsimple