# HG changeset patch # User Nozomi Teruya # Date 1448009875 -32400 # Node ID 1a860019b2fe2709b4f05b8382dbc111b3ad2438 # Parent 65b615d3a30c27c4e8c237bf6437856796b05692 add ip to HostMessage.class diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/daemon/CommandMessage.java --- a/src/main/java/alice/daemon/CommandMessage.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/daemon/CommandMessage.java Fri Nov 20 17:57:55 2015 +0900 @@ -16,9 +16,10 @@ public boolean compressed = false;//圧縮されているかどうか public int dataSize = 0;// - public boolean setTime = false;//計測用 - public long time;// - public int depth;// + //計測用 + public boolean setTime = false; + public long time; + public int depth; public CommandMessage() {} diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/daemon/IncomingTcpConnection.java --- a/src/main/java/alice/daemon/IncomingTcpConnection.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/daemon/IncomingTcpConnection.java Fri Nov 20 17:57:55 2015 +0900 @@ -60,7 +60,7 @@ case UPDATE: case PUT: int dataSize = unpacker.readInt(); - if (msg.compressed) { + if (msg.compressed) {//Todo:fix one stlye rData = new ReceiveData(packer.read(unpacker.getSerializedByteArray(dataSize), byte[].class), true, msg.dataSize); } else { rData = new ReceiveData(unpacker.getSerializedByteArray(dataSize), false, msg.dataSize); diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/datasegment/DataSegment.java --- a/src/main/java/alice/datasegment/DataSegment.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/datasegment/DataSegment.java Fri Nov 20 17:57:55 2015 +0900 @@ -1,5 +1,6 @@ package alice.datasegment; +import java.net.InetAddress; import java.util.concurrent.ConcurrentHashMap; import alice.daemon.IncomingTcpConnection; @@ -39,12 +40,12 @@ dataSegment.dataSegmentManagers.put(key, manager); } - public static RemoteDataSegmentManager connect(String connectionKey, String reverseKey, String hostName, int port) { + public static RemoteDataSegmentManager connect(String connectionKey, String reverseKey, InetAddress ip, int port) { if (connectionKey.startsWith("compressed")){//compressedが含まれていたらエラーを返して終了 System.out.println("You can't use 'compressed' for DataSegmentManager name."); System.exit(0); } - RemoteDataSegmentManager manager = new RemoteDataSegmentManager(connectionKey, reverseKey, hostName, port); + RemoteDataSegmentManager manager = new RemoteDataSegmentManager(connectionKey, reverseKey, ip, port); CompressedRemoteDataSegmentManager compressedManager = new CompressedRemoteDataSegmentManager(manager); register(connectionKey, manager); diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/datasegment/ReceiveData.java --- a/src/main/java/alice/datasegment/ReceiveData.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/datasegment/ReceiveData.java Fri Nov 20 17:57:55 2015 +0900 @@ -150,7 +150,6 @@ } public void zip() throws IOException { - System.out.println("in zip"); LinkedList inputs = new LinkedList(); int inputIndex = 0; LinkedList outputs = new LinkedList(); diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/datasegment/RemoteDataSegmentManager.java --- a/src/main/java/alice/datasegment/RemoteDataSegmentManager.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/datasegment/RemoteDataSegmentManager.java Fri Nov 20 17:57:55 2015 +0900 @@ -1,6 +1,7 @@ package alice.datasegment; import java.io.IOException; +import java.net.InetAddress; import java.net.InetSocketAddress; import java.nio.channels.SocketChannel; import java.util.concurrent.LinkedBlockingQueue; @@ -18,7 +19,7 @@ public RemoteDataSegmentManager(){} - public RemoteDataSegmentManager(final String connectionKey, final String reverseKey, final String hostName, final int port) { + public RemoteDataSegmentManager(final String connectionKey, final String reverseKey, final InetAddress ip, final int port) { logger = Logger.getLogger(connectionKey); connection = new Connection(); connection.name = connectionKey; @@ -30,7 +31,7 @@ do { try { //System.out.println("RemoteDSM connect hostname:" + hostName + " port:" + port); - SocketChannel sc = SocketChannel.open(new InetSocketAddress(hostName, port)); + SocketChannel sc = SocketChannel.open(new InetSocketAddress(ip, port)); connection.socket = sc.socket(); connection.socket.setTcpNoDelay(true); connect = false; diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/test/codesegment/remote/TestRemoteAlice.java --- a/src/main/java/alice/test/codesegment/remote/TestRemoteAlice.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/test/codesegment/remote/TestRemoteAlice.java Fri Nov 20 17:57:55 2015 +0900 @@ -9,7 +9,7 @@ TestRemoteConfig conf = new TestRemoteConfig(args);//トポロジー設定をコマンドライン引数からとって設定? new AliceDaemon(conf).listen();//構成開始?TopMはない - DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort); + DataSegment.connect(conf.key, "", conf.getIP(), conf.connectPort); new RemoteStartCodeSegment().execute(); } diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/test/codesegment/remote/TestRemoteConfig.java --- a/src/main/java/alice/test/codesegment/remote/TestRemoteConfig.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/test/codesegment/remote/TestRemoteConfig.java Fri Nov 20 17:57:55 2015 +0900 @@ -2,9 +2,13 @@ import alice.daemon.Config; +import java.net.InetAddress; +import java.net.UnknownHostException; + public class TestRemoteConfig extends Config { public String hostname; + private InetAddress ip; public int connectPort = 10000; public String key; @@ -13,6 +17,12 @@ for (int i = 0; i< args.length; i++) { if ("-h".equals(args[i])) { hostname = args[++i]; + } else if ("-ip".equals(args[i])) { + try { + ip = InetAddress.getByName(args[++i]); + } catch (UnknownHostException e) { + e.printStackTrace(); + } } else if ("-cp".equals(args[i])) { connectPort = Integer.parseInt(args[++i]); } else if ("-key".equals(args[i])) { @@ -21,4 +31,15 @@ } } + public InetAddress getIP(){ + if (ip == null){ + try { + ip = InetAddress.getByName(hostname); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + return ip; + } + } diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/HostMessage.java --- a/src/main/java/alice/topology/HostMessage.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/HostMessage.java Fri Nov 20 17:57:55 2015 +0900 @@ -2,10 +2,14 @@ import org.msgpack.annotation.Message; +import java.net.InetAddress; +import java.net.UnknownHostException; + @Message public class HostMessage { public String name; public int port; + public InetAddress ip; public String connectionName; public String absName; // this is absName which have these IP and port. @@ -27,6 +31,11 @@ this.port = port; this.connectionName = connectionName; this.reverseName = reverseName; + try { + this.ip = InetAddress.getByName(name); + } catch (UnknownHostException e) { + e.printStackTrace(); + } } public boolean isAlive() { diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/manager/CreateTreeTopology.java --- a/src/main/java/alice/topology/manager/CreateTreeTopology.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/manager/CreateTreeTopology.java Fri Nov 20 17:57:55 2015 +0900 @@ -1,5 +1,7 @@ package alice.topology.manager; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.HashMap; import org.msgpack.type.ValueFactory; @@ -41,7 +43,7 @@ String nodeName = "node"+comingHostCount; // Manager connect to Node - DataSegment.connect(nodeName, nodeName, host.name, host.port); + DataSegment.connect(nodeName, nodeName, host.ip, host.port); ods.put(nodeName, "host", nodeName); ods.put(nodeName, "cookie", cookie); diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/manager/IncomingHosts.java --- a/src/main/java/alice/topology/manager/IncomingHosts.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/manager/IncomingHosts.java Fri Nov 20 17:57:55 2015 +0900 @@ -1,5 +1,7 @@ package alice.topology.manager; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.HashMap; import java.util.LinkedList; @@ -40,7 +42,7 @@ // not have or match cookie String nodeName = nodeNames.poll(); // Manager connect to Node - DataSegment.connect(nodeName, "", host.name, host.port); + DataSegment.connect(nodeName, "", host.ip, host.port); ods.put(nodeName, "host", nodeName); String cookie = this.cookie.asString(); diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/manager/SearchHostName.java --- a/src/main/java/alice/topology/manager/SearchHostName.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/manager/SearchHostName.java Fri Nov 20 17:57:55 2015 +0900 @@ -1,5 +1,7 @@ package alice.topology.manager; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.HashMap; import java.util.LinkedList; @@ -31,7 +33,7 @@ HashMap> topology = info1.asClass(HashMap.class); DataSegment.remove(hostInfo.absName); - DataSegment.connect(hostInfo.absName, "", hostInfo.name, hostInfo.port); + DataSegment.connect(hostInfo.absName, "", hostInfo.ip, hostInfo.port); ods.put(hostInfo.absName, "host", hostInfo.absName); // put Host dataSegment on reconnect node diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/node/IncomingConnectionInfo.java --- a/src/main/java/alice/topology/node/IncomingConnectionInfo.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/node/IncomingConnectionInfo.java Fri Nov 20 17:57:55 2015 +0900 @@ -6,6 +6,9 @@ import alice.datasegment.Receiver; import alice.topology.HostMessage; +import java.net.InetAddress; +import java.net.UnknownHostException; + public class IncomingConnectionInfo extends CodeSegment { public Receiver hostInfo = ids.create(CommandType.TAKE); @@ -28,7 +31,7 @@ // need to wait remove by DeleteConnection ods.put("manager", absName, hostInfo); } else { - DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port); + DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.ip, hostInfo.port); ods.put(hostInfo.connectionName, "reverseKey", hostInfo.reverseName); count++; diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/node/StartTopologyNode.java --- a/src/main/java/alice/topology/node/StartTopologyNode.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/node/StartTopologyNode.java Fri Nov 20 17:57:55 2015 +0900 @@ -20,7 +20,7 @@ @Override public void run() { - DataSegment.connect("manager", "manager", conf.getManagerHostName(), conf.getManagerPort()); + DataSegment.connect("manager", "manager", conf.getManagerHostIP(), conf.getManagerPort()); String localHostName = null; try { localHostName = InetAddress.getLocalHost().getHostName(); diff -r 65b615d3a30c -r 1a860019b2fe src/main/java/alice/topology/node/TopologyNodeConfig.java --- a/src/main/java/alice/topology/node/TopologyNodeConfig.java Thu Nov 19 21:30:12 2015 +0900 +++ b/src/main/java/alice/topology/node/TopologyNodeConfig.java Fri Nov 20 17:57:55 2015 +0900 @@ -1,11 +1,14 @@ package alice.topology.node; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.ArrayList; import alice.daemon.Config; public class TopologyNodeConfig extends Config { private String managerHostName; + private InetAddress managerHostIP; private int managerPort = 10000; public String cookie; private ArrayList eventList = new ArrayList(); @@ -20,10 +23,31 @@ setManagerPort(Integer.parseInt(args[++i])); } else if ("-cookie".equals(args[i])) { cookie = args[++i]; + } else if ("-ip".equals(args[i])){ + setManagerHostIP(args[++i]); } } } + public void setManagerHostIP(String args) { + try { + managerHostIP = InetAddress.getByName(args); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + + public InetAddress getManagerHostIP(){ + if (managerHostIP == null){ + try { + managerHostIP = InetAddress.getByName(getManagerHostName()); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + return managerHostIP; + } + public String getManagerHostName() { return managerHostName; }