view src/fdl/test/topology/ring/FDLindaRingNode.java @ 79:805645cf5ec0

topology modifired
author one
date Tue, 17 Nov 2009 18:19:39 +0900
parents e8b757d7d0af
children
line wrap: on
line source

package fdl.test.topology.ring;

import java.io.IOException;
import fdl.MetaEngine;
import fdl.test.topology.*;

/**
* FDLindaRingNode
*
* @author Kazuki Akamine
*
* Federated Linda の Ring 用 Node
* Ring 用の MetaEngine を持たせる。
*  
*/

public class FDLindaRingNode {
	// Fields
	private static int localPort = 10000;
	private static String managerHostName;
	private static String relayNumString;
	private static int relayNum;
	private final static String usageString
		= "Usage: FDLindaRingNode -manager SERVERNAME";

	// main routine
	public static void main(String[] args) {
		for (int i = 0; i < args.length; i++) {
			if ("-manager".equals(args[i])) {
				managerHostName = args[++i];
			} else if ("-relay".equals(args[i])) {
				relayNumString = args[++i];
			} else {
				System.err.println(usageString);
			}
		}
		relayNum = Integer.parseInt(relayNumString);
		
		try {
			FDLindaNode node = new FDLindaNode(localPort);
			MetaEngine me = new RingMetaProtocolEngine(node.getMetaLinda(), managerHostName, relayNum);
			node.setMetaEngine(me);
			node.mainLoop();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
}