diff rep/SessionManager.java @ 341:a9a740e685fa

remove session using QUIT_2_ACK
author kono
date Mon, 13 Oct 2008 03:05:53 +0900
parents 5ba5b7a9761b
children 21ad256c25c2
line wrap: on
line diff
--- a/rep/SessionManager.java	Sun Oct 12 20:03:47 2008 +0900
+++ b/rep/SessionManager.java	Mon Oct 13 03:05:53 2008 +0900
@@ -625,10 +625,20 @@
 
 
 	public void remove(Editor editor) {
+		Session s0 = null;
+		editorList.remove(editor);
 		for(Session s:sessionList) {
-			s.deleteForwarder(editor);
+			if (s.deleteForwarder(editor)) {
+				if (editor.getEID()==0) s0=s;
+			}
 		}
-		//assert(false);
+		if (s0!=null) removeSession(s0);
+		updateGUI();
+	}
+
+	private void removeSession(Session s0) {
+		sessionList.remove(s0);
+		// send UPDATE to all the session manager
 	}
 
 	public void setParentPort(int port) {