Mercurial > hg > Database > Alice
view src/main/java/alice/topology/node/ConfigurationFinish.java @ 647:e321c5ec9b58
fix toplogy manager; ring worked
author | suruga |
---|---|
date | Sun, 31 Dec 2017 19:32:27 +0900 |
parents | 4027e55df60d |
children |
line wrap: on
line source
package alice.topology.node; import alice.daemon.Config; import alice.topology.manager.TopologyManagerConfig; import org.msgpack.type.ValueFactory; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; import alice.topology.manager.keeparive.StartKeepAlive; public class ConfigurationFinish extends CodeSegment { public Receiver reverseCount = ids.create(CommandType.PEEK); public Receiver configNodeNum = ids.create(CommandType.PEEK); public Receiver config = ids.create(CommandType.PEEK); private CodeSegment startCS; public ConfigurationFinish(CodeSegment startCS) { // System.err.println("config finish ...") ; this.startCS = startCS; reverseCount.setKey("local", "reverseCount"); configNodeNum.setKey("local", "configNodeNum"); config.setKey("local","config"); } @Override public void run() { int rcount = reverseCount.asInteger(); int ncount = configNodeNum.asInteger(); Config tconfig = config.asClass(Config.class); // System.err.println(" rcount = " + Integer.toString(rcount) + " " + Integer.toString(ncount)); if (rcount == ncount) { ods.put("manager", "done", ValueFactory.createNilValue()); Start cs = new Start(startCS); cs.done.setKey("manager", "start"); if (tconfig.useKeepAlive) new StartKeepAlive().execute(); new ReceiveCloseMessage(CommandType.PEEK); ClosedEventManager.getInstance().register(DeleteConnection.class); ClosedEventManager.getInstance().setKey(); return; } new ConfigurationFinish(startCS); } }