Mercurial > hg > Database > Alice
view src/main/java/alice/topology/manager/ComingStarHosts.java @ 601:30f2c04571c2 dispose
add chat, add Star topology to topology manager&node
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 27 Apr 2016 16:28:10 +0900 |
parents | |
children | 8a9fd716c335 |
line wrap: on
line source
package alice.topology.manager; import alice.codesegment.MetaCodeSegment; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; import alice.topology.HostMessage; import org.msgpack.type.ValueFactory; import java.util.HashMap; /** * Created by e125769 on 4/12/16. * this class put root info */ public class ComingStarHosts extends MetaCodeSegment { private Receiver info = ids.create(CommandType.TAKE); private Receiver info1 = ids.create(CommandType.TAKE); private Receiver info2 = ids.create(CommandType.TAKE); public ComingStarHosts(){ info.setKey("newHost"); info1.setKey("hostCount"); //incoming host count number for put node name like node0, node1, node2 info2.setKey("nameTable"); //HashMap.<String:nodeName, HostMessage> } @Override public void run() { HostMessage host = info.asClass(HostMessage.class); int comingHostCount = info1.asInteger(); HashMap<String, HostMessage> nameTable = info2.asClass(HashMap.class); String nodeName = "node"+comingHostCount; // Manager connect to Node DataSegment.connect(nodeName, nodeName, host.name, host.port); ods.put(nodeName, "host"+host.topMNum, nodeName); ods.put(info1.key, comingHostCount+1); host.alive = true; nameTable.put(nodeName, host); ods.put("root", host); ods.put("start", ValueFactory.createNilValue()); ods.put(info2.key, nameTable); new CreateStarTopology(); } }