// // Copyright (C) 2006 Institut fuer Telematik, Universitaet Karlsruhe (TH) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // @file GiaModules.ned // @author Robert Palmer, Bernhard Heep import "GiaNeighbors", "GiaKeyListModule", "GiaTokenFactory", "Gia"; // // Overlay Module which connects Gia-Module with its helper modules (TokenFactory-, Neighbors-, KeyList-Module) // @author Robert Palmer module GiaModules parameters: localPort : numeric, // local UDP-Port debugOutput : bool, // use debug-output? lookupNumberNextHops : numeric, lookupParallelPaths : numeric, lookupParallelRpcs : numeric, lookupSecure : bool, lookupMerge : bool, measureNetwInitPhase : bool, drawOverlayTopology : numeric, hopCountMax : numeric, keyLength : numeric; gates: in: from_udp; // gate from UDP out: to_udp; // gate to UDP in: from_app; // gate from application out: to_app; // gate to application submodules: gia: Gia; // gia main module parameters: localPort = localPort, // local UDP-Port debugOutput = debugOutput, // use debug output? measureNetwInitPhase = measureNetwInitPhase, lookupNumberNextHops = lookupNumberNextHops, lookupParallelPaths = lookupParallelPaths, lookupParallelRpcs = lookupParallelRpcs, lookupSecure = lookupSecure, lookupMerge = lookupMerge, hopCountMax = hopCountMax, drawOverlayTopology = drawOverlayTopology, keyLength = keyLength; display: "p=60,60;i=block/circle"; // display icon keyListModule: GiaKeyListModule; // KeyList-Module display: "p=150,60;i=block/table"; // display icon neighbors: GiaNeighbors; // Neigbors-Module display: "p=240,60;i=block/table"; // display icon tokenFactory: GiaTokenFactory; // TokenFactory-Module display: "p=330,60;i=block/table"; // display icon connections: from_udp --> gia.from_udp++; // connect from_udp with gia.from_udp to_udp <-- gia.to_udp++; // connect to_upd with gia.to_udp from_app --> gia.from_app; // connect from_app with gia.from_app to_app <-- gia.to_app; // connect to_app with gia.to_app endmodule