# HG changeset patch # User one # Date 1258449517 -32400 # Node ID 4fd2d1094bb9c5fea1a7f4b7da9556145b059b8e # Parent 5336bafaaf4827a1fab03a9c5fcf0c86fa5cdf3f Ring with TopologyManager added diff -r 5336bafaaf48 -r 4fd2d1094bb9 src/fdl/test/topology/ring/RingTopologyManager.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/fdl/test/topology/ring/RingTopologyManager.java Tue Nov 17 18:18:37 2009 +0900 @@ -0,0 +1,41 @@ +package fdl.test.topology.ring; + +import java.io.IOException; + +import fdl.MetaEngine; +import fdl.test.topology.FDLindaNode; + +/** +* RingTopologyManager +* +* @author Kazuki Akamine +* +* FDLindaNode の Topology を管理する Server +* Ring 実験用の Main Class +* +*/ + +public class RingTopologyManager { + private static int localPort = 10000; + private static int nodeNum; + private static String usageString + = "RingTopologyManager -nodes NODENUM"; + + public static void main(String[] args) { + for (int i = 0; i < args.length; i++) { + if ("-nodes".equals(args[i])) { + nodeNum = Integer.parseInt(args[++i]); + } else { + System.err.println(usageString); + } + } + try { + FDLindaNode manager = new FDLindaNode(localPort); + MetaEngine me = new RingTopologyManagerEngine(manager.getMetaLinda(), nodeNum); + manager.setMetaEngine(me); + manager.mainLoop(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff -r 5336bafaaf48 -r 4fd2d1094bb9 src/fdl/test/topology/ring/RingTopologyManagerEngine.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/fdl/test/topology/ring/RingTopologyManagerEngine.java Tue Nov 17 18:18:37 2009 +0900 @@ -0,0 +1,36 @@ +package fdl.test.topology.ring; + +import fdl.MetaLinda; +import fdl.test.topology.TopologyManagerEngine; + +public class RingTopologyManagerEngine extends TopologyManagerEngine { + + // Constructor + public RingTopologyManagerEngine(MetaLinda ml, int nodeNum) { + super(ml, nodeNum); + } + + public void mainLoop() { + super.mainLoop(); + + } + + protected void makeTopology() { + super.makeTopology(); + startRelay(); + } + + @Override protected void makeConnection() { + // Ring 状の接続を定義 + for (int i = 0; i < nodes.length; i++) { + nodes[i].addConnection(nodes[(i+1)%nodes.length]); + } + } + + private void startRelay() { + + + } + + +}