Mercurial > hg > Database > Alice
view src/main/java/alice/topology/node/StartTopologyNode.java @ 599:3284428f525e dispose
add MetaCodeSegment & MetaDSM
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Feb 2016 01:16:35 +0900 |
parents | dd9bd18fd878 |
children | 8a9fd716c335 |
line wrap: on
line source
package alice.topology.node; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.LinkedList; import alice.codesegment.CodeSegment; import alice.codesegment.MetaCodeSegment; import alice.datasegment.DataSegment; import alice.topology.HostMessage; public class StartTopologyNode extends MetaCodeSegment { private LinkedList<TopologyNodeConfig> configs; private TopologyNodeConfig conf; private CodeSegment startCS; private int topMNumber; public StartTopologyNode(LinkedList<TopologyNodeConfig> configs, CodeSegment startCS, int topMNum) { this.configs = configs; this.conf = configs.get(topMNum - 1); this.startCS = startCS; this.topMNumber = topMNum; } @Override public void run() { DataSegment.connect("manager"+ topMNumber, "manager" + topMNumber, conf.getManagerHostName(), conf.getManagerPort()); String localHostName = null; try { localHostName = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } new SaveCookie(topMNumber); HostMessage host = new HostMessage(localHostName, conf.localPort, topMNumber); host.cookie = conf.cookie; ods.put("manager" + topMNumber, "host", host); ods.put("_CLIST", new ArrayList<String>()); IncomingAbstractHostName cs = new IncomingAbstractHostName(topMNumber); cs.absName.setKey("local", "host"+topMNumber); IncomingReverseKey cs2 = new IncomingReverseKey(); cs2.reverseKey.setKey("local", "reverseKey"); cs2.reverseCount.setKey("local", "reverseCount"); ods.put("local", "reverseCount", 0); ConfigurationFinish cs3 = new ConfigurationFinish(startCS, topMNumber); cs3.reverseCount.setKey("local", "reverseCount"); cs3.configNodeNum.setKey("local", "configNodeNum"); if (topMNumber != 1){ new StartTopologyNode(configs, startCS, topMNumber - 1).execute(); } } }