Mercurial > hg > Database > Alice
view src/alice/topology/node/StartTopologyNode.java @ 175:d7816b9b72e9 working
minor change
author | e095732 |
---|---|
date | Thu, 24 Jan 2013 21:23:16 +0900 |
parents | 23d6a775a643 |
children | 52a1fa5ba38b |
line wrap: on
line source
package alice.topology.node; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; 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); String localHostName = null; //localHostName = InetAddress.getLocalHost().getHostName(); try { localHostName = getIPAddress(); } catch (SocketException e) { e.printStackTrace(); } HostMessage host = new HostMessage(localHostName, conf.localPort); ods.put("manager", "host", host); new IncomingAbstractHostName(); 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"); } 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"; } }