# HG changeset patch # User Nozomi Teruya # Date 1438594279 -32400 # Node ID 0832af83583f9a93234d0e0be067aa56259edeea # Parent 8c17a9e66cc7a83bdde401357e7585729f19af93 command init on AliceDaemon diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/codesegment/CodeSegmentManager.java --- a/src/main/java/alice/codesegment/CodeSegmentManager.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/codesegment/CodeSegmentManager.java Mon Aug 03 18:31:19 2015 +0900 @@ -5,20 +5,19 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import alice.daemon.AliceDaemon; import org.apache.log4j.Logger; public class CodeSegmentManager { - private static CodeSegmentManager instance = new CodeSegmentManager(); private ThreadPoolExecutor codeSegmentExecutor; - private ThreadFactory maxPriority; private ThreadFactory minPriority; private ThreadFactory normalPriority; private Logger logger = Logger.getLogger(CodeSegmentManager.class); - private CodeSegmentManager() { + public CodeSegmentManager() { codeSegmentExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads Runtime.getRuntime().availableProcessors(), Integer.MAX_VALUE, // keepAliveTime @@ -29,12 +28,12 @@ minPriority = makeThreadFactory(Thread.MIN_PRIORITY); } - public static CodeSegmentManager get() { - return instance; + public CodeSegmentManager get() {//ToDo:あとでstatic消す + return new CodeSegmentManager(); } - public static void submit(CodeSegment cs) { - CodeSegmentManager csManager = CodeSegmentManager.get(); + public void submit(CodeSegment cs) {//ToDo:あとでstatic消す + CodeSegmentManager csManager = AliceDaemon.codeSegmentManager.get(); if (cs.getPriority() < Thread.NORM_PRIORITY) { csManager.codeSegmentExecutor.setThreadFactory(csManager.minPriority); } else if (cs.getPriority() < Thread.MAX_PRIORITY) { diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/codesegment/InputDataSegment.java --- a/src/main/java/alice/codesegment/InputDataSegment.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/codesegment/InputDataSegment.java Mon Aug 03 18:31:19 2015 +0900 @@ -2,6 +2,7 @@ import java.util.concurrent.atomic.AtomicInteger; +import alice.daemon.AliceDaemon; import alice.datasegment.Command; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; @@ -32,23 +33,23 @@ public void quickPeek(Receiver receiver) {//SEDAで実行 cs.register(receiver); - DataSegment.get(receiver.managerKey).peek(receiver, cs, true); + AliceDaemon.dataSegment.get(receiver.managerKey).peek(receiver, cs, true); } public void peek(Receiver receiver) { cs.register(receiver); - DataSegment.get(receiver.managerKey).peek(receiver, cs, false); + AliceDaemon.dataSegment.get(receiver.managerKey).peek(receiver, cs, false); } public void quickTake(Receiver receiver) { cs.register(receiver); - DataSegment.get(receiver.managerKey).take(receiver, cs, true); + AliceDaemon.dataSegment.get(receiver.managerKey).take(receiver, cs, true); } public void take(Receiver receiver) { cs.register(receiver); - DataSegment.get(receiver.managerKey).take(receiver, cs, false); + AliceDaemon.dataSegment.get(receiver.managerKey).take(receiver, cs, false); } public void reply(Receiver receiver, Command reply) { @@ -71,7 +72,7 @@ public void receive() { if (count.decrementAndGet() == 0) { - CodeSegmentManager.submit(cs); + AliceDaemon.codeSegmentManager.submit(cs); } } @@ -86,10 +87,11 @@ public void recommand(Receiver receiver) { // TODO why only local? - DataSegment.getLocal().recommand(receiver, cs); + AliceDaemon.dataSegment.getLocal().recommand(receiver, cs); } public void setCounter(int cnt){ count.set(cnt); } } + diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/codesegment/OutputDataSegment.java --- a/src/main/java/alice/codesegment/OutputDataSegment.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/codesegment/OutputDataSegment.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,5 +1,6 @@ package alice.codesegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.ReceiveData; @@ -17,17 +18,17 @@ */ public void flip(Receiver receiver) { if (receiver.isCompressed()){ - DataSegment.getCompressedLocal().put(receiver.key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.getCompressedLocal().put(receiver.key, receiver.getReceiveData(), false); } else { - DataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), false); } } public void flip(String managerKey, String key, Receiver receiver){ if (receiver.isCompressed()){ - DataSegment.get("compressed" + managerKey).put(key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.get("compressed" + managerKey).put(key, receiver.getReceiveData(), false); } else { - DataSegment.get(managerKey).put(key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.get(managerKey).put(key, receiver.getReceiveData(), false); } } @@ -36,16 +37,16 @@ switch (type) { case PUT: if (receiver.isCompressed()){ - DataSegment.getCompressedLocal().put(receiver.key, receiver.getReceiveData(), false);//localなら全部false。 + AliceDaemon.dataSegment.getCompressedLocal().put(receiver.key, receiver.getReceiveData(), false);//localなら全部false。 } else { - DataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), false); } break; case UPDATE: if (receiver.isCompressed()){ - DataSegment.getCompressedLocal().update(receiver.key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.getCompressedLocal().update(receiver.key, receiver.getReceiveData(), false); } else { - DataSegment.getLocal().update(receiver.key, receiver.getReceiveData(), false); + AliceDaemon.dataSegment.getLocal().update(receiver.key, receiver.getReceiveData(), false); } break; @@ -55,56 +56,56 @@ } public void put(String key, ReceiveData rData) { - DataSegment.getLocal().put(key, rData, false); + AliceDaemon.dataSegment.getLocal().put(key, rData, false); } public void put(String key, Object val) { ReceiveData rData = new ReceiveData(val); - DataSegment.getLocal().put(key, rData, false); + AliceDaemon.dataSegment.getLocal().put(key, rData, false); } public void update(String key, Object val) { ReceiveData rData = new ReceiveData(val); - DataSegment.getLocal().update(key, rData, false); + AliceDaemon.dataSegment.getLocal().update(key, rData, false); } /** * for remote */ public void put(String managerKey, String key, ReceiveData rData) { - DataSegment.get(managerKey).put(key, rData, false); + AliceDaemon.dataSegment.get(managerKey).put(key, rData, false); } public void put(String managerKey, String key, Object val) {//追加 ReceiveData rData = new ReceiveData(val); - DataSegment.get(managerKey).put(key, rData, false); + AliceDaemon.dataSegment.get(managerKey).put(key, rData, false); } public void quickPut(String managerKey, String key, ReceiveData rData) { - DataSegment.get(managerKey).put(key, rData, true); + AliceDaemon.dataSegment.get(managerKey).put(key, rData, true); } public void quickPut(String managerKey, String key, Object val) { ReceiveData rData = new ReceiveData(val); - DataSegment.get(managerKey).put(key, rData, true); + AliceDaemon.dataSegment.get(managerKey).put(key, rData, true); } public void update(String managerKey, String key, ReceiveData rData) { - DataSegment.get(managerKey).update(key, rData, false); + AliceDaemon.dataSegment.get(managerKey).update(key, rData, false); } public void update(String managerKey, String key, Object val) { ReceiveData rData = new ReceiveData(val); - DataSegment.get(managerKey).update(key, rData, false); + AliceDaemon.dataSegment.get(managerKey).update(key, rData, false); } public void quickUpdate(String managerKey, String key, ReceiveData rData) { - DataSegment.get(managerKey).update(key, rData, true); + AliceDaemon.dataSegment.get(managerKey).update(key, rData, true); } public void quickUpdate(String managerKey, String key, Object val, boolean cFlag) { ReceiveData rData = new ReceiveData(val); - DataSegment.get(managerKey).update(key, rData, true); + AliceDaemon.dataSegment.get(managerKey).update(key, rData, true); } /** @@ -114,31 +115,31 @@ */ public void finish(String managerKey) { - if (DataSegment.contains(managerKey)) - DataSegment.get(managerKey).finish(); + if (AliceDaemon.dataSegment.contains(managerKey)) + AliceDaemon.dataSegment.get(managerKey).finish(); } /** - * close socket for RemoteDataSegment after send other messages. + * close socket for RemoteAliceDaemon.dataSegment after send other messages. * * @param managerKey */ public void close(String managerKey) { - if (DataSegment.contains(managerKey)) - DataSegment.get(managerKey).close(); + if (AliceDaemon.dataSegment.contains(managerKey)) + AliceDaemon.dataSegment.get(managerKey).close(); } /** - * "key" is not remote DataSegment's key. + * "key" is not remote AliceDaemon.dataSegment's key. * "Ping Response" return in this "key" * * @param managerKey * @param returnKey */ public void ping(String managerKey, String returnKey) { - if (DataSegment.contains(managerKey)) - DataSegment.get(managerKey).ping(returnKey); + if (AliceDaemon.dataSegment.contains(managerKey)) + AliceDaemon.dataSegment.get(managerKey).ping(returnKey); } } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/daemon/AcceptThread.java --- a/src/main/java/alice/daemon/AcceptThread.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/daemon/AcceptThread.java Mon Aug 03 18:31:19 2015 +0900 @@ -29,10 +29,10 @@ Connection connection = new Connection(socket); String key = "accept" + counter; IncomingTcpConnection in = - new IncomingTcpConnection(connection, DataSegment.get("local"), key); + new IncomingTcpConnection(connection, AliceDaemon.dataSegment.get("local"), key); in.setName(connection.getInfoString()+"-IncomingTcp"); in.start(); - DataSegment.setAccept(key, in); + AliceDaemon.dataSegment.setAccept(key, in); OutboundTcpConnection out = new OutboundTcpConnection(connection); out.setName(connection.getInfoString()+"-OutboundTcp"); out.start(); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/daemon/AliceDaemon.java --- a/src/main/java/alice/daemon/AliceDaemon.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/daemon/AliceDaemon.java Mon Aug 03 18:31:19 2015 +0900 @@ -6,10 +6,16 @@ import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.channels.ServerSocketChannel; +import java.util.HashMap; +import alice.codesegment.CodeSegmentManager; +import alice.datasegment.Command; +import alice.datasegment.CommandType; +import alice.datasegment.DataSegment; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.WriterAppender; +import org.msgpack.MessagePack; public class AliceDaemon { @@ -17,9 +23,31 @@ private AcceptThread acceptThread; private Logger log = Logger.getLogger(AliceDaemon.class); + // static + public static final MessagePack packer = new MessagePack(); + public static DataSegment dataSegment = new DataSegment(); + //public static CommandType commandType = CommandType.PUT; + public static HashMap hash = new HashMap();//コマンド対応表 + public static int lastId = 0;//コマンドの総数 + public static CodeSegmentManager codeSegmentManager = new CodeSegmentManager(); + public AliceDaemon(Config conf) { this.conf = conf; setLogger(); + commandInit();//static + } + + public static CommandType getCommandTypeFromId(int id) { + return hash.get(id); + } + + public void commandInit() {//ToDo: 好きなタイミングで呼び出せるように + int id = 1; + + for (CommandType type : CommandType.values()) { + type.setID(id); + hash.put(id++, type); + } } private void setLogger() { diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/daemon/Connection.java --- a/src/main/java/alice/daemon/Connection.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/daemon/Connection.java Mon Aug 03 18:31:19 2015 +0900 @@ -59,9 +59,9 @@ if (name!=null){ ConnectionInfo c = new ConnectionInfo(name, socket); ReceiveData rData = new ReceiveData(c); - DataSegment.getLocal().put("_DISCONNECT", rData, false); + AliceDaemon.dataSegment.getLocal().put("_DISCONNECT", rData, false); if (sendManager) { - DataSegment.get("manager").put("_DISCONNECTNODE", rData, false); + AliceDaemon.dataSegment.get("manager").put("_DISCONNECTNODE", rData, false); sendManager = false; } } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/daemon/IncomingTcpConnection.java --- a/src/main/java/alice/daemon/IncomingTcpConnection.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/daemon/IncomingTcpConnection.java Mon Aug 03 18:31:19 2015 +0900 @@ -15,9 +15,9 @@ private Connection connection; protected DataSegmentManager manager; protected String reverseKey; - private LocalDataSegmentManager lmanager = DataSegment.getLocal(); - private CompressedLocalDataSegmentManager compressedlmanager = DataSegment.getCompressedLocal(); - private static final MessagePack packer = new MessagePack(); + private LocalDataSegmentManager lmanager = AliceDaemon.dataSegment.getLocal(); + private CompressedLocalDataSegmentManager compressedlmanager = AliceDaemon.dataSegment.getCompressedLocal(); + private MessagePack packer = AliceDaemon.packer; public IncomingTcpConnection(DataSegmentManager manager) { this.manager = manager; @@ -55,7 +55,7 @@ Command cmd = null; ReceiveData rData = null; CommandMessage msg = unpacker.read(CommandMessage.class);///read header - CommandType type = CommandType.getCommandTypeFromId(msg.type); + CommandType type = AliceDaemon.getCommandTypeFromId(msg.type); switch (type) { case UPDATE: case PUT: @@ -111,12 +111,12 @@ cmd.cs.ids.reply(cmd.receiver, rCmd); break; case PING: - if (DataSegment.contains(reverseKey)) - DataSegment.get(reverseKey).response(msg.key); + if (AliceDaemon.dataSegment.contains(reverseKey)) + AliceDaemon.dataSegment.get(reverseKey).response(msg.key); break; case RESPONSE: rData = new ReceiveData(new RespondData(reverseKey, System.currentTimeMillis())); - DataSegment.getLocal().put(msg.key, rData, false); + AliceDaemon.dataSegment.getLocal().put(msg.key, rData, false); break; default: break; diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/daemon/IncomingUdpConnection.java --- a/src/main/java/alice/daemon/IncomingUdpConnection.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/daemon/IncomingUdpConnection.java Mon Aug 03 18:31:19 2015 +0900 @@ -22,7 +22,7 @@ public MulticastConnection receiver; public MulticastConnection sender; - private static final MessagePack packer = new MessagePack(); + private MessagePack packer = AliceDaemon.packer; public IncomingUdpConnection(MulticastConnection s, MulticastConnection r, DataSegmentManager manager) { super(manager); @@ -43,7 +43,7 @@ Unpacker unpacker = packer.createBufferUnpacker(receive); receive.flip(); CommandMessage msg = unpacker.read(CommandMessage.class); - CommandType type = CommandType.getCommandTypeFromId(msg.type); + CommandType type = AliceDaemon.getCommandTypeFromId(msg.type); switch (type) { case UPDATE: case PUT: @@ -82,12 +82,12 @@ cmd.cs.ids.reply(cmd.receiver, rCmd); break; case PING: - if (DataSegment.contains(reverseKey)) - DataSegment.get(reverseKey).response(msg.key); + if (AliceDaemon.dataSegment.contains(reverseKey)) + AliceDaemon.dataSegment.get(reverseKey).response(msg.key); break; case RESPONSE: rData = new ReceiveData(new RespondData(reverseKey, System.currentTimeMillis())); - DataSegment.getLocal().put(msg.key, rData, false); + AliceDaemon.dataSegment.getLocal().put(msg.key, rData, false); break; default: break; diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/datasegment/Command.java --- a/src/main/java/alice/datasegment/Command.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/datasegment/Command.java Mon Aug 03 18:31:19 2015 +0900 @@ -4,6 +4,7 @@ import java.nio.ByteBuffer; import java.util.concurrent.BlockingQueue; +import alice.daemon.AliceDaemon; import org.msgpack.MessagePack; import alice.codesegment.CodeSegment; @@ -27,7 +28,7 @@ private boolean quickFlag = false;//SEDAを挟まずに処理を行うかどうか。trueだとリモート private boolean compressFlag = false;//trueだったら圧縮する必要がある - private static final MessagePack packer = new MessagePack(); + private MessagePack packer = AliceDaemon.packer; /** * for PEEK/TAKE diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/datasegment/CommandType.java --- a/src/main/java/alice/datasegment/CommandType.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/datasegment/CommandType.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,5 +1,7 @@ package alice.datasegment; +import alice.daemon.AliceDaemon; + import java.util.HashMap; public enum CommandType { @@ -11,38 +13,17 @@ REPLY,//PEEK/TAKEに対応 CLOSE, FINISH, - PING,//heart beat 用 - RESPONSE;//heart beat 用 - - public int id;//コマンドのid - public static HashMap hash = new HashMap();//コマンド対応表 - private static int lastId = 0;//コマンドの総数 + PING,//for heart beat + RESPONSE,//for heart beat + LAST; - private CommandType(int id) { + public int id;//コマンドのid。MessagePackではenumが扱えないため通信時にidに置き換えている。 + + public void setID(int id){ this.id = id; - setLastId(id); - } - - private CommandType() { - this.id = incrementLastId(); } - private void setLastId(int id) { - lastId =id; - } - - private int incrementLastId() { - return ++lastId; + public int getID(){ + return this.id; } - - public static CommandType getCommandTypeFromId(int id) { - return hash.get(id); - } - - static { - for (CommandType type : CommandType.values()) { - hash.put(type.id, type); - } - } - } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/datasegment/DataSegment.java --- a/src/main/java/alice/datasegment/DataSegment.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/datasegment/DataSegment.java Mon Aug 03 18:31:19 2015 +0900 @@ -2,44 +2,45 @@ import java.util.concurrent.ConcurrentHashMap; +import alice.daemon.AliceDaemon; import alice.daemon.IncomingTcpConnection; import alice.datasegment.MulticastDataSegmentManager.SocketType; import org.apache.log4j.Logger; public class DataSegment { - private static DataSegment dataSegment = new DataSegment(); + //private static DataSegment dataSegment = new DataSegment();//ToDo: static消す private LocalDataSegmentManager local = new LocalDataSegmentManager(); private CompressedLocalDataSegmentManager compressedLocal = new CompressedLocalDataSegmentManager(local);//追加 private ConcurrentHashMap dataSegmentManagers = new ConcurrentHashMap(); //TODO Over Head private ConcurrentHashMap acceptHash = new ConcurrentHashMap(); - private DataSegment() { + public DataSegment() { dataSegmentManagers.put("local", local); dataSegmentManagers.put("compressedlocal", compressedLocal); } - public static DataSegmentManager get(String key) { + public DataSegmentManager get(String key) { if (key == null){ - return dataSegment.dataSegmentManagers.get("local"); + return AliceDaemon.dataSegment.dataSegmentManagers.get("local"); } else { - return dataSegment.dataSegmentManagers.get(key); + return AliceDaemon.dataSegment.dataSegmentManagers.get(key); } } - public static LocalDataSegmentManager getLocal() { - return dataSegment.local; + public LocalDataSegmentManager getLocal() { + return AliceDaemon.dataSegment.local; } - public static CompressedLocalDataSegmentManager getCompressedLocal() {//追加 - return dataSegment.compressedLocal; + public CompressedLocalDataSegmentManager getCompressedLocal() {//追加 + return AliceDaemon.dataSegment.compressedLocal; } - public static void register(String key, DataSegmentManager manager) { - dataSegment.dataSegmentManagers.put(key, manager); + public void register(String key, DataSegmentManager manager) { + AliceDaemon.dataSegment.dataSegmentManagers.put(key, manager); } - public static RemoteDataSegmentManager connect(String connectionKey, String reverseKey, String hostName, int port) { + public RemoteDataSegmentManager connect(String connectionKey, String reverseKey, String hostName, int port) { if (connectionKey.startsWith("compressed")){//compressedが含まれていたらエラーを返して終了 System.out.println("You can't use 'compressed' for DataSegmentManager name."); System.exit(0); @@ -53,26 +54,26 @@ return manager; } - public static MulticastDataSegmentManager connectMulticast(String connectionKey ,String MCSTADDR, int port, String nis, SocketType type){ + public MulticastDataSegmentManager connectMulticast(String connectionKey ,String MCSTADDR, int port, String nis, SocketType type){ MulticastDataSegmentManager manager = new MulticastDataSegmentManager(connectionKey ,MCSTADDR, port, nis, type); if (type!=SocketType.Receiver) register(connectionKey, manager); return manager; } - public static void setAccept(String key, IncomingTcpConnection incoming) { - dataSegment.acceptHash.put(key, incoming); + public void setAccept(String key, IncomingTcpConnection incoming) { + AliceDaemon.dataSegment.acceptHash.put(key, incoming); } - public static IncomingTcpConnection getAccept(String key) { - return dataSegment.acceptHash.get(key); + public IncomingTcpConnection getAccept(String key) { + return AliceDaemon.dataSegment.acceptHash.get(key); } - public static void remove(String key){ - dataSegment.dataSegmentManagers.remove(key); + public void remove(String key){ + AliceDaemon.dataSegment.dataSegmentManagers.remove(key); } - public static boolean contains(String key){ - return dataSegment.dataSegmentManagers.containsKey(key); + public boolean contains(String key){ + return AliceDaemon.dataSegment.dataSegmentManagers.containsKey(key); } } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/datasegment/MulticastDataSegmentManager.java --- a/src/main/java/alice/datasegment/MulticastDataSegmentManager.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/datasegment/MulticastDataSegmentManager.java Mon Aug 03 18:31:19 2015 +0900 @@ -9,6 +9,7 @@ import java.net.StandardSocketOptions; import java.nio.channels.DatagramChannel; +import alice.daemon.AliceDaemon; import org.apache.log4j.Logger; import alice.daemon.IncomingUdpConnection; @@ -37,7 +38,7 @@ IncomingUdpConnection in = new IncomingUdpConnection((MulticastConnection) connection, receiver, this); in.setName("multicast-IncomingUdp"); in.start(); - DataSegment.setAccept(connectionKey, in); + AliceDaemon.dataSegment.setAccept(connectionKey, in); } if (type !=SocketType.Receiver) { OutboundTcpConnection out = new OutboundTcpConnection(connection); // OutboundUdpConnection sender diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/datasegment/ReceiveData.java --- a/src/main/java/alice/datasegment/ReceiveData.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/datasegment/ReceiveData.java Mon Aug 03 18:31:19 2015 +0900 @@ -5,6 +5,7 @@ import java.util.LinkedList; import java.util.zip.*; +import alice.daemon.AliceDaemon; import org.msgpack.MessagePack; import org.msgpack.type.Value; @@ -23,7 +24,7 @@ public boolean setTime = false; public int depth = 1; - private static final MessagePack packer = new MessagePack(); + private MessagePack packer = AliceDaemon.packer; /** * コンストラクタ。Object型のDSと圧縮のメタ情報を受け取る。 diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/datasegment/RemoteDataSegmentManager.java --- a/src/main/java/alice/datasegment/RemoteDataSegmentManager.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/datasegment/RemoteDataSegmentManager.java Mon Aug 03 18:31:19 2015 +0900 @@ -49,7 +49,7 @@ in.setPriority(MAX_PRIORITY); in.start(); OutboundTcpConnection out = new OutboundTcpConnection(connection); - out.setName(connectionKey + "-OutboundTcp"); + out.setName(connection.name + "-OutboundTcp"); out.setPriority(MAX_PRIORITY); out.start(); } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/test/codesegment/local/TestLocalAlice.java --- a/src/main/java/alice/test/codesegment/local/TestLocalAlice.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/test/codesegment/local/TestLocalAlice.java Mon Aug 03 18:31:19 2015 +0900 @@ -5,7 +5,9 @@ public class TestLocalAlice { public static void main(String args[]) { - new AliceDaemon(new Config(args)).listen(); // logger off + //AliceDaemon deamon = new AliceDaemon(new Config(args)); // logger off + //deamon.listen(); + new AliceDaemon(new Config(args)).listen(); new StartCodeSegment().execute(); } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/test/codesegment/remote/TestRemoteAlice.java --- a/src/main/java/alice/test/codesegment/remote/TestRemoteAlice.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/test/codesegment/remote/TestRemoteAlice.java Mon Aug 03 18:31:19 2015 +0900 @@ -9,7 +9,7 @@ TestRemoteConfig conf = new TestRemoteConfig(args);//トポロジー設定をコマンドライン引数からとって設定? new AliceDaemon(conf).listen();//構成開始?TopMはない - DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort); + AliceDaemon.dataSegment.connect(conf.key, "", conf.hostname, conf.connectPort); new RemoteStartCodeSegment().execute(); } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/test/topology/aquarium/fx/CheckAllFishInfoExist.java --- a/src/main/java/alice/test/topology/aquarium/fx/CheckAllFishInfoExist.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/test/topology/aquarium/fx/CheckAllFishInfoExist.java Mon Aug 03 18:31:19 2015 +0900 @@ -2,6 +2,7 @@ import java.io.IOException; +import alice.daemon.AliceDaemon; import javafx.scene.Group; import javafx.scene.Node; @@ -30,7 +31,7 @@ new SendDataOthers(info, info.key); ods.put("registeredList", info.getVal()); ArrayValue fishInfoList = info.asClass(Value.class).asArrayValue(); - MessagePack packer = new MessagePack(); + MessagePack packer = AliceDaemon.packer; Group root = info1.asClass(Group.class); for (Value v : fishInfoList){ boolean exist = false; diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/manager/CreateTreeTopology.java --- a/src/main/java/alice/topology/manager/CreateTreeTopology.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/manager/CreateTreeTopology.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,6 +1,8 @@ package alice.topology.manager; import java.util.HashMap; + +import alice.daemon.AliceDaemon; import org.msgpack.type.ValueFactory; import alice.codesegment.CodeSegment; @@ -41,7 +43,7 @@ String nodeName = "node"+comingHostCount; // Manager connect to Node - DataSegment.connect(nodeName, nodeName, host.name, host.port); + AliceDaemon.dataSegment.connect(nodeName, nodeName, host.name, host.port); ods.put(nodeName, "host", nodeName); ods.put(nodeName, "cookie", cookie); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/manager/IncomingHosts.java --- a/src/main/java/alice/topology/manager/IncomingHosts.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/manager/IncomingHosts.java Mon Aug 03 18:31:19 2015 +0900 @@ -3,6 +3,7 @@ import java.util.HashMap; import java.util.LinkedList; +import alice.daemon.AliceDaemon; import org.msgpack.type.ValueFactory; import alice.codesegment.CodeSegment; @@ -40,7 +41,7 @@ // not have or match cookie String nodeName = nodeNames.poll(); // Manager connect to Node - DataSegment.connect(nodeName, "", host.name, host.port); + AliceDaemon.dataSegment.connect(nodeName, "", host.name, host.port); ods.put(nodeName, "host", nodeName); String cookie = this.cookie.asString(); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/manager/SearchHostName.java --- a/src/main/java/alice/topology/manager/SearchHostName.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/manager/SearchHostName.java Mon Aug 03 18:31:19 2015 +0900 @@ -3,6 +3,7 @@ import java.util.HashMap; import java.util.LinkedList; +import alice.daemon.AliceDaemon; import org.msgpack.type.ValueFactory; import alice.codesegment.CodeSegment; @@ -30,8 +31,8 @@ @SuppressWarnings("unchecked") HashMap> topology = info1.asClass(HashMap.class); - DataSegment.remove(hostInfo.absName); - DataSegment.connect(hostInfo.absName, "", hostInfo.name, hostInfo.port); + AliceDaemon.dataSegment.remove(hostInfo.absName); + AliceDaemon.dataSegment.connect(hostInfo.absName, "", hostInfo.name, hostInfo.port); ods.put(hostInfo.absName, "host", hostInfo.absName); // put Host dataSegment on reconnect node diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/manager/keeparive/ListManager.java --- a/src/main/java/alice/topology/manager/keeparive/ListManager.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/manager/keeparive/ListManager.java Mon Aug 03 18:31:19 2015 +0900 @@ -2,6 +2,7 @@ import java.util.LinkedList; +import alice.daemon.AliceDaemon; import alice.datasegment.DataSegment; public class ListManager { @@ -93,7 +94,7 @@ TaskExecuter.getInstance().skip(); } } - DataSegment.getLocal().removeDataSegmentKey("_FORM_"+name); + AliceDaemon.dataSegment.getLocal().removeDataSegmentKey("_FORM_"+name); task = new TaskInfo(TaskType.CLOSE); task.setInfo(name, 0); while(deleteTask(task)); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/manager/keeparive/TaskExecuter.java --- a/src/main/java/alice/topology/manager/keeparive/TaskExecuter.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/manager/keeparive/TaskExecuter.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,6 +1,7 @@ package alice.topology.manager.keeparive; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; @@ -64,8 +65,8 @@ new RespondPing(nowTask.getReturnKey()); } else if (nowTask.getType() == TaskType.CLOSE) { // no response from the Remote DataSegment. So close this connection. - if (DataSegment.contains(nowTask.getManagerKey())) { - DataSegment.get(nowTask.getManagerKey()).shutdown(); + if (AliceDaemon.dataSegment.contains(nowTask.getManagerKey())) { + AliceDaemon.dataSegment.get(nowTask.getManagerKey()).shutdown(); System.out.println(nowTask.getManagerKey() +" IS SHOTDOWN"); } else { System.out.println(nowTask.getManagerKey() +" IS ALREADY SHOTDOWN"); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/node/CloseRemoteDataSegment.java --- a/src/main/java/alice/topology/node/CloseRemoteDataSegment.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/node/CloseRemoteDataSegment.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,6 +1,7 @@ package alice.topology.node; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; @@ -25,8 +26,8 @@ String managerKey = info.asString(); ListManager manager = info3.asClass(ListManager.class); if (info1.from.equals(managerKey)||info2.from.equals(managerKey)) { - if (DataSegment.contains(managerKey)) - DataSegment.get(managerKey).shutdown(); + if (AliceDaemon.dataSegment.contains(managerKey)) + AliceDaemon.dataSegment.get(managerKey).shutdown(); manager.deleteAll(managerKey); } diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/node/DeleteConnection.java --- a/src/main/java/alice/topology/node/DeleteConnection.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/node/DeleteConnection.java Mon Aug 03 18:31:19 2015 +0900 @@ -3,6 +3,7 @@ import java.util.List; import alice.codesegment.CloseEventCodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; @@ -26,9 +27,9 @@ if (list.contains(name)) list.remove(name); - if (DataSegment.contains(name)) { - DataSegment.get(name).shutdown(); - DataSegment.remove(name); + if (AliceDaemon.dataSegment.contains(name)) { + AliceDaemon.dataSegment.get(name).shutdown(); + AliceDaemon.dataSegment.remove(name); } ListManager manager = info1.asClass(ListManager.class); manager.deleteAll(name); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/node/IncomingConnectionInfo.java --- a/src/main/java/alice/topology/node/IncomingConnectionInfo.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/node/IncomingConnectionInfo.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,6 +1,7 @@ package alice.topology.node; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; @@ -24,11 +25,11 @@ ods.put("local", "configNodeNum", count); } else { HostMessage hostInfo = this.hostInfo.asClass(HostMessage.class); - if (DataSegment.contains(hostInfo.connectionName)) { + if (AliceDaemon.dataSegment.contains(hostInfo.connectionName)) { // need to wait remove by DeleteConnection ods.put("manager", absName, hostInfo); } else { - DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port); + AliceDaemon.dataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port); ods.put(hostInfo.connectionName, "reverseKey", hostInfo.reverseName); count++; diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/node/IncomingReverseKey.java --- a/src/main/java/alice/topology/node/IncomingReverseKey.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/node/IncomingReverseKey.java Mon Aug 03 18:31:19 2015 +0900 @@ -1,6 +1,7 @@ package alice.topology.node; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.Receiver; @@ -14,7 +15,7 @@ public void run() { String reverseKey = this.reverseKey.asString(); String from = this.reverseKey.from; - DataSegment.getAccept(from).setReverseKey(reverseKey); + AliceDaemon.dataSegment.getAccept(from).setReverseKey(reverseKey); int reverseCount = this.reverseCount.asInteger(); reverseCount++; diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/node/PrepareToClose.java --- a/src/main/java/alice/topology/node/PrepareToClose.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/node/PrepareToClose.java Mon Aug 03 18:31:19 2015 +0900 @@ -3,6 +3,7 @@ import java.util.List; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.CommandType; import alice.datasegment.DataSegment; import alice.datasegment.DataSegmentManager; @@ -25,7 +26,7 @@ List list = info1.asClass(List.class); if (list.contains(managerKey)) { list.remove(managerKey); - DataSegmentManager manager = DataSegment.get(managerKey); + DataSegmentManager manager = AliceDaemon.dataSegment.get(managerKey); manager.setSendError(false); ods.put(managerKey, "_CLOSEREADY", managerKey); diff -r 8c17a9e66cc7 -r 0832af83583f src/main/java/alice/topology/node/StartTopologyNode.java --- a/src/main/java/alice/topology/node/StartTopologyNode.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/main/java/alice/topology/node/StartTopologyNode.java Mon Aug 03 18:31:19 2015 +0900 @@ -5,6 +5,7 @@ import java.util.ArrayList; import alice.codesegment.CodeSegment; +import alice.daemon.AliceDaemon; import alice.datasegment.DataSegment; import alice.topology.HostMessage; @@ -20,7 +21,7 @@ @Override public void run() { - DataSegment.connect("manager", "manager", conf.getManagerHostName(), conf.getManagerPort()); + AliceDaemon.dataSegment.connect("manager", "manager", conf.getManagerHostName(), conf.getManagerPort()); String localHostName = null; try { localHostName = InetAddress.getLocalHost().getHostName(); diff -r 8c17a9e66cc7 -r 0832af83583f src/test/java/alice/daemon/MulticastStartCodeSegment.java --- a/src/test/java/alice/daemon/MulticastStartCodeSegment.java Fri Jun 19 14:06:10 2015 +0900 +++ b/src/test/java/alice/daemon/MulticastStartCodeSegment.java Mon Aug 03 18:31:19 2015 +0900 @@ -13,7 +13,7 @@ @Override public void run() { - DataSegment.connectMulticast("multicast",conf.MCSTADDR, conf.localPort, conf.nis, MulticastTest.type); + AliceDaemon.dataSegment.connectMulticast("multicast",conf.MCSTADDR, conf.localPort, conf.nis, MulticastTest.type); if (MulticastTest.type == SocketType.Both) { // in this case "multicast" key mean local. MulticastIncrement cs = new MulticastIncrement(); @@ -21,11 +21,11 @@ ods.put("multicast", "num", 0); } else if (MulticastTest.type == SocketType.Receiver){ - DataSegment.connectMulticast("multicast1", "224.0.0.2", conf.localPort+1, conf.nis, SocketType.Sender); + AliceDaemon.dataSegment.connectMulticast("multicast1", "224.0.0.2", conf.localPort+1, conf.nis, SocketType.Sender); ReceiveInteger cs = new ReceiveInteger(); cs.num.setKey("num"); } else if (MulticastTest.type == SocketType.Sender){ - DataSegment.connectMulticast("multicast1", "224.0.0.2", conf.localPort+1, conf.nis, SocketType.Receiver); + AliceDaemon.dataSegment.connectMulticast("multicast1", "224.0.0.2", conf.localPort+1, conf.nis, SocketType.Receiver); ReceiveString cs = new ReceiveString(); cs.str.setKey("str");