changeset 336:174ea66bf28a

implementing connection Close
author sugi
date Mon, 14 Apr 2014 19:43:56 +0900
parents cf9072608fe4
children dba0d22e15d9
files src/alice/daemon/Connection.java src/alice/datasegment/DataSegmentManager.java src/alice/datasegment/LocalDataSegmentManager.java src/alice/datasegment/RemoteDataSegmentManager.java
diffstat 4 files changed, 25 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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();
+		}
+		
+	}
 }
--- 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();
 	
--- 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) {
+		
+	}
+
 }
--- 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();
+	}
+
 
 }