Mercurial > hg > Database > Christie
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; + } +}