File: Overlay/Vast/OverlayVast.ned
Implementation of the Vast overlay as described in "Scalable peer-to-peer networked virtual environment" by S.-Y. Hu and G.-M. Liao, published in NetGames �04: Proceedings of 3rd ACM SIGCOMM workshop on Network and system support for games, pages
Author: Ingmar Baumgart, Markus Mauch
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.
If a module type shows up more than once, that means it has been defined in more than one NED file.
NeighborsList | (no description) |
Vast | (no description) |
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 |
Name | Type | Description |
---|---|---|
vast.localPort | numeric | UDP port for Vast messages |
vast.debugOutput | bool | enable debug output |
vast.keyLength | numeric | overlay key length in bits |
vast.useCommonAPIforward | bool | enable CommonAPI forward() calls |
vast.drawOverlayTopology | bool | draw arrow to successor node? |
vast.hopCountMax | numeric | maximum number of overlay hops |
vast.joinOnApplicationRequest | bool | only join the overlay on application request |
vast.recNumRedundantNodes | numeric | numRedundantNodes for recursive routing |
vast.lookupParallelPaths | numeric | number of parallel paths |
vast.lookupParallelRpcs | numeric | number of nodes to ask in parallel |
vast.lookupSecure | bool | true, if all nodes should be identified with a ping |
vast.lookupMerge | bool | true, if parallel Rpc results should be merged |
vast.lookupStrictParallelRpcs | bool | limited the number of concurrent rpcs to parameter parallelRpcs |
vast.lookupUseAllParallelResponses | bool | merge all parallel responses from earlier steps |
vast.lookupNewRpcOnEveryTimeout | bool | send a new RPC immediately after an RPC timeouts |
vast.lookupNewRpcOnEveryResponse | bool | send a new RPC after every response, even if there was no progress |
vast.lookupFinishOnFirstUnchanged | bool | finish lookup, if the last pending RPC returned without progress |
vast.lookupFailedNodeRpcs | bool | communicate failed nodes |
vast.lookupRedundantNodes | numeric | number of next hops in each step |
vast.routeMsgAcks | bool | use RPCs for route messages |
vast.routingType | string | default routing mode (iterative, semi-recursive,...) |
vast.collectPerHopDelay | bool | delay statistics for single hops |
vast.debugVastOutput | bool | |
vast.ignoreFalseKeys | bool | |
vast.AOIWidth | numeric | |
vast.joinTimeout | numeric | |
vast.pingTimeout | numeric |
module OverlayVast 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 submodules: vast: Vast; display: "p=60,60;i=block/circle"; neighborsList: NeighborsList; display: "p=180,60;i=block/table"; connections nocheck: from_udp --> vast.from_udp++; to_udp <-- vast.to_udp++; from_app --> vast.from_app; to_app <-- vast.to_app; endmodule