Mercurial > hg > Database > Alice
view src/main/java/alice/topology/node/IncomingConnectionInfo.java @ 404:fee3efd9257d dispose
add node when application status running
author | sugi |
---|---|
date | Mon, 23 Jun 2014 18:12:57 +0900 |
parents | 539b7f5772c7 |
children | 6508ed6ea6a6 |
line wrap: on
line source
package alice.topology.node; import java.util.ArrayList; import java.util.List; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; import alice.topology.HostMessage; public class IncomingConnectionInfo extends CodeSegment { public Receiver hostInfo = ids.create(CommandType.TAKE); private List<String> connectionList; private String absName; private int count; public IncomingConnectionInfo(String absName, int count) { this.absName = absName; this.count = count; this.connectionList = new ArrayList<String>(); } public IncomingConnectionInfo(String absName, int count, List<String> connectionList) { this.absName = absName; this.count = count; this.connectionList = connectionList; } @Override public void run() { if (this.hostInfo.getVal() == null) { ods.put("local", "configNodeNum", count); IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, count, connectionList); cs.hostInfo.setKey("manager", absName); } else { HostMessage hostInfo = this.hostInfo.asClass(HostMessage.class); DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port); ods.put(hostInfo.connectionName, "reverseKey", hostInfo.reverseName); connectionList.add(hostInfo.connectionName); ods.update("_CLIST", connectionList); IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, ++count, connectionList); cs.hostInfo.setKey("manager", absName); } } }