# HG changeset patch # User sugi # Date 1397472236 -32400 # Node ID 174ea66bf28a0952e8bac14a95fc3ce8180078a1 # Parent cf9072608fe4a37a8ed6aa06ab5b66dc0560ca10 implementing connection Close diff -r cf9072608fe4 -r 174ea66bf28a src/alice/daemon/Connection.java --- a/src/alice/daemon/Connection.java Mon Apr 07 01:37:59 2014 +0900 +++ b/src/alice/daemon/Connection.java Mon Apr 14 19:43:56 2014 +0900 @@ -17,7 +17,7 @@ this.socket = socket; } - public Connection() { } + public Connection() {} public void sendCommand(Command cmd) { try { @@ -44,4 +44,15 @@ e.printStackTrace(); } } + + public void close(){ + try { + socket.shutdownOutput(); + socket.shutdownInput(); + socket.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } } diff -r cf9072608fe4 -r 174ea66bf28a src/alice/datasegment/DataSegmentManager.java --- a/src/alice/datasegment/DataSegmentManager.java Mon Apr 07 01:37:59 2014 +0900 +++ b/src/alice/datasegment/DataSegmentManager.java Mon Apr 14 19:43:56 2014 +0900 @@ -61,6 +61,7 @@ public abstract void quickTake(Receiver receiver, CodeSegment cs); public abstract void remove(String key); + public abstract void shutdown(String key); public abstract void close(); public abstract void finish(); diff -r cf9072608fe4 -r 174ea66bf28a src/alice/datasegment/LocalDataSegmentManager.java --- a/src/alice/datasegment/LocalDataSegmentManager.java Mon Apr 07 01:37:59 2014 +0900 +++ b/src/alice/datasegment/LocalDataSegmentManager.java Mon Apr 14 19:43:56 2014 +0900 @@ -6,6 +6,7 @@ import java.util.concurrent.TimeUnit; import org.apache.log4j.Logger; + import alice.codesegment.CodeSegment; public class LocalDataSegmentManager extends DataSegmentManager { @@ -163,4 +164,9 @@ } + @Override + public void shutdown(String key) { + + } + } diff -r cf9072608fe4 -r 174ea66bf28a src/alice/datasegment/RemoteDataSegmentManager.java --- a/src/alice/datasegment/RemoteDataSegmentManager.java Mon Apr 07 01:37:59 2014 +0900 +++ b/src/alice/datasegment/RemoteDataSegmentManager.java Mon Apr 14 19:43:56 2014 +0900 @@ -5,6 +5,7 @@ import java.nio.channels.SocketChannel; import org.apache.log4j.Logger; + import alice.codesegment.CodeSegment; import alice.daemon.Connection; import alice.daemon.IncomingTcpConnection; @@ -156,5 +157,10 @@ connection.write(cmd); } + @Override + public void shutdown(String key) { + connection.close(); + } + }