Mercurial > hg > Database > Alice
view src/alice/topology/node/StartTopologyNode.java @ 182:52a1fa5ba38b working
add filp api
author | e095732 |
---|---|
date | Tue, 26 Feb 2013 13:46:18 +0900 |
parents | d7816b9b72e9 |
children | 75150396681c |
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); 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); 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"; } }