Mercurial > hg > Database > Alice
view src/alice/topology/node/StartTopologyNode.java @ 274:f866178f3018
success to reconnect
author | sugi |
---|---|
date | Sun, 29 Sep 2013 17:17:10 +0900 |
parents | 9982e1c4f099 |
children |
line wrap: on
line source
package alice.topology.node; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; import java.util.Enumeration; import alice.codesegment.CodeSegment; import alice.datasegment.DataSegment; import alice.topology.HostMessage; public class StartTopologyNode extends CodeSegment { private TopologyNodeConfig conf; private CodeSegment startCS; public StartTopologyNode(TopologyNodeConfig conf, CodeSegment startCS) { this.conf = conf; this.startCS = startCS; } @Override public void run() { DataSegment.connect("manager", "", conf.managerHostName, conf.managerPort, false); String localHostName = null; try { localHostName = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException e) { e.printStackTrace(); } HostMessage host = new HostMessage(localHostName, conf.localPort); ods.put("manager", "host", host); IncomingAbstractHostName cs = new IncomingAbstractHostName(host); cs.absName.setKey("local", "host"); IncomingReverseKey cs2 = new IncomingReverseKey(); cs2.reverseKey.setKey("local", "reverseKey"); cs2.reverseCount.setKey("local", "reverseCount"); ods.put("local", "reverseCount", 0); ConfigurationFinish cs3 = new ConfigurationFinish(startCS); cs3.reverseCount.setKey("local", "reverseCount"); cs3.configNodeNum.setKey("local", "configNodeNum"); } @SuppressWarnings("unused") private String getIPAddress() throws SocketException { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while(interfaces.hasMoreElements()){ NetworkInterface network = interfaces.nextElement(); Enumeration<InetAddress> addresses = network.getInetAddresses(); while(addresses.hasMoreElements()){ String address = addresses.nextElement().getHostAddress(); if(!"127.0.0.1".equals(address) && !"0.0.0.0".equals(address)){ return address; } } } return "127.0.0.1"; } }