changeset 78:4fd2d1094bb9

Ring with TopologyManager added
author one
date Tue, 17 Nov 2009 18:18:37 +0900
parents 5336bafaaf48
children 805645cf5ec0
files src/fdl/test/topology/ring/RingTopologyManager.java src/fdl/test/topology/ring/RingTopologyManagerEngine.java
diffstat 2 files changed, 77 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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();
+		}
+	}
+}
--- /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() {
+		
+		
+	}
+	
+
+}