diff rep/SessionManager.java @ 31:593f915dd6ff JOINandPUT

for JOIN and PUT Testing
author pin
date Sat, 10 Nov 2007 12:52:24 +0900
parents e67b1cec9dbe
children de8638eb0edd
line wrap: on
line diff
--- a/rep/SessionManager.java	Fri Nov 09 19:45:19 2007 +0900
+++ b/rep/SessionManager.java	Sat Nov 10 12:52:24 2007 +0900
@@ -133,24 +133,36 @@
 				smList.sendJoin(repCmd);
 				//sessionmanagerGUI.setComboEditor(repCmd.eid, channel);
 			}
+			
+			/*** 各エディタのテスト用 ***/
+			repCmd.setCMD(REP.SMCMD_JOIN_ACK);
+			REPPacketSend sendJoinAckTest = new REPPacketSend(channel);
+			sendJoinAckTest.send(repCmd);
+			
 			break;
 		case REP.SMCMD_JOIN_ACK:
-				editorList.setEID(repCmd);
-				editorList.sendJoinAck(repCmd);
-				sessionmanagerGUI.setComboEditor(repCmd.eid, channel);
+//				editorList.setEID(repCmd);
+//				editorList.sendJoinAck(repCmd);
+//				sessionmanagerGUI.setComboEditor(repCmd.eid, channel);
 			break;
+			
 		case REP.SMCMD_PUT:
-			int sessionID = sessionlist.addSession(channel, repCmd.string);	//SIDを取得
-			smList.sendUpdate(sessionID, repCmd.string);						//updateコマンド:Session生成を通知
-			sessionmanagerGUI.setComboSession(sessionID, repCmd.string);	//ComboBoxにSessionを追加
-			repCmd.setSID(sessionID);			//SIDをセット
-			repCmd.setCMD(repCmd.cmd + 1);		//ACKを返す
-			REPPacketSend repSend2 = new REPPacketSend(channel);
-			repSend2.send(repCmd);
-			//sessionlist.sendAddedSession(repCmd);
+			if(repCmd.string.length() == 0){
+				sessionlist.addEditor(channel, 0, 0);
+			}else if(repCmd.string.length() > 0){
+				int sid = sessionlist.addSession(channel, repCmd.string);
+				sessionlist.addEditor(channel, sid, 0);
+			}
+			
+			/*** 各エディタのテスト用 ***/
+			repCmd.setCMD(REP.SMCMD_PUT_ACK);
+			REPPacketSend sendPutAckTest = new REPPacketSend(channel);
+			sendPutAckTest.send(repCmd);
+			
 			break;
 //		case REP.SMCMD_PUT_ACK:
 //			break;
+			
 		case REP.SMCMD_SELECT:
 			sessionlist.addEditor(channel, repCmd.sid, repCmd);	//sessionlistへ追加
 			repCmd.setCMD(repCmd.cmd + 1);
@@ -162,8 +174,13 @@
 		case REP.SMCMD_SESSION:
 			break;
 		case REP.SMCMD_SM_JOIN:
-			this.isMaster  = true;
-			myHost = repCmd.host;
+			//this.isMaster  = true;
+			//myHost = repCmd.host;
+			if(isMaster){
+				//REPPacketSend send = new REPPacketSend(channel);
+				repCmd.setCMD(REP.SMCMD_SM_JOIN_ACK);
+				smList.sendSessionList(sessionlist, repCmd);
+			}
 			sendSessionManagerJoinAck(channel, repCmd);
 			break;
 		case REP.SMCMD_SM_JOIN_ACK:
@@ -265,6 +282,7 @@
 			//sm_join_com.setString(sm_join_com.string + ":" + socketString);
 			send.send(REPCommand.SMCMD_SESSION_JOIN);
 			smList.add(sessionchannel);
+			smList.setMaster(sessionchannel);
 		}catch (IOException e) {
 			e.printStackTrace();
 		}