changeset 113:d2f1c7e3cf01

fix add finish
author akahori
date Fri, 30 Nov 2018 10:46:33 +0900
parents 20f7270e997d
children ce96f375f369
files src/main/java/christie/daemon/Connection.java src/main/java/christie/daemon/IncomingTcpConnection.java src/main/java/christie/datagear/DataGearManager.java src/main/java/christie/datagear/LocalDataGearManager.java src/main/java/christie/datagear/RemoteDataGearManager.java src/main/java/christie/datagear/command/CloseCommand.java src/main/java/christie/datagear/command/FinishCommand.java
diffstat 7 files changed, 80 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/christie/daemon/Connection.java	Fri Nov 30 10:44:29 2018 +0900
+++ b/src/main/java/christie/daemon/Connection.java	Fri Nov 30 10:46:33 2018 +0900
@@ -39,8 +39,23 @@
             socket.shutdownInput();
             socket.close();
         } catch (Exception e) { }
+        //putConnectionInfo();
+
     }
 
+    /*
+    public void putConnectionInfo() {
+        if (name!=null) {
+            ConnectionInfo c = new ConnectionInfo(name, socket);
+            ReceiveData rData = new ReceiveData(c);
+            DataSegment.getLocal().put("_DISCONNECT", rData, false);
+            if (sendManager) {
+                DataSegment.get("manager").put("_DISCONNECTNODE", rData, false);
+                sendManager = false;
+            }
+        }
+
+    }*/
     public synchronized void write(Command cmd) {
         ByteBuffer buffer = cmd.convert();
         try {
--- a/src/main/java/christie/daemon/IncomingTcpConnection.java	Fri Nov 30 10:44:29 2018 +0900
+++ b/src/main/java/christie/daemon/IncomingTcpConnection.java	Fri Nov 30 10:46:33 2018 +0900
@@ -12,6 +12,7 @@
 import org.msgpack.MessagePack;
 import org.msgpack.unpacker.Unpacker;
 
+import java.io.EOFException;
 import java.io.IOException;
 import java.nio.channels.ClosedChannelException;
 
@@ -84,6 +85,8 @@
                 }
             } catch (ClosedChannelException e) {
                 return;
+            }catch (EOFException e) {
+                return;
             } catch (IOException e) {
                 e.printStackTrace();
             }
--- a/src/main/java/christie/datagear/DataGearManager.java	Fri Nov 30 10:44:29 2018 +0900
+++ b/src/main/java/christie/datagear/DataGearManager.java	Fri Nov 30 10:46:33 2018 +0900
@@ -13,4 +13,8 @@
     public abstract void put(String key, Object data);
     public abstract void runCommand(Command cm);
     public abstract void resolveWaitCommand(String key, DataGear dg);
+    public abstract void finish();
+    public abstract void close();
+
+
 }
--- a/src/main/java/christie/datagear/LocalDataGearManager.java	Fri Nov 30 10:44:29 2018 +0900
+++ b/src/main/java/christie/datagear/LocalDataGearManager.java	Fri Nov 30 10:46:33 2018 +0900
@@ -66,6 +66,7 @@
             case REPLY:
                 cm.connection.write(cm);
                 break;
+
         }
     }
 
@@ -82,4 +83,13 @@
         cm.setDg(dataGears.peek(cm.key));
     }
 
+    @Override
+    public void finish() {
+        System.exit(0);
+    }
+
+    @Override
+    public void close() {}
+
+
 }
--- a/src/main/java/christie/datagear/RemoteDataGearManager.java	Fri Nov 30 10:44:29 2018 +0900
+++ b/src/main/java/christie/datagear/RemoteDataGearManager.java	Fri Nov 30 10:46:33 2018 +0900
@@ -43,7 +43,6 @@
                 in.setManager(manager);
                 in.setName(dgmName+"-IncomingTcp");
                 in.setPriority(MAX_PRIORITY);
-                in.setPriority(MAX_PRIORITY);
                 in.start();
                 OutboundTcpConnection out = new OutboundTcpConnection(connection);
                 out.setName(dgmName + "-OutboundTcp");
@@ -81,4 +80,18 @@
         cm.setInputs();
     }
 
+    @Override
+    public void finish() {
+        Command cmd = new FinishCommand();
+        connection.sendCommand(cmd);
+    }
+
+    @Override
+    public void close() {
+        Command cmd = new CloseCommand();
+        connection.sendManager = false;
+        connection.sendCommand(cmd);
+    }
+
+
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/christie/datagear/command/CloseCommand.java	Fri Nov 30 10:46:33 2018 +0900
@@ -0,0 +1,16 @@
+package christie.datagear.command;
+
+import java.nio.ByteBuffer;
+
+public class CloseCommand extends Command {
+
+
+    public CloseCommand() {
+        CommandType type = CommandType.CLOSE;
+    }
+
+    @Override
+    public ByteBuffer convert() {
+        return null;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/christie/datagear/command/FinishCommand.java	Fri Nov 30 10:46:33 2018 +0900
@@ -0,0 +1,18 @@
+package christie.datagear.command;
+
+import christie.datagear.dg.DataGear;
+
+import java.nio.ByteBuffer;
+
+public class FinishCommand extends Command {
+
+
+    public FinishCommand() {
+        CommandType type = CommandType.FINISH;
+    }
+
+    @Override
+    public ByteBuffer convert() {
+        return null;
+    }
+}