comparison 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
comparison
equal deleted inserted replaced
30:e67b1cec9dbe 31:593f915dd6ff
131 }else{ 131 }else{
132 editorList.addEditor(channel); 132 editorList.addEditor(channel);
133 smList.sendJoin(repCmd); 133 smList.sendJoin(repCmd);
134 //sessionmanagerGUI.setComboEditor(repCmd.eid, channel); 134 //sessionmanagerGUI.setComboEditor(repCmd.eid, channel);
135 } 135 }
136
137 /*** 各エディタのテスト用 ***/
138 repCmd.setCMD(REP.SMCMD_JOIN_ACK);
139 REPPacketSend sendJoinAckTest = new REPPacketSend(channel);
140 sendJoinAckTest.send(repCmd);
141
136 break; 142 break;
137 case REP.SMCMD_JOIN_ACK: 143 case REP.SMCMD_JOIN_ACK:
138 editorList.setEID(repCmd); 144 // editorList.setEID(repCmd);
139 editorList.sendJoinAck(repCmd); 145 // editorList.sendJoinAck(repCmd);
140 sessionmanagerGUI.setComboEditor(repCmd.eid, channel); 146 // sessionmanagerGUI.setComboEditor(repCmd.eid, channel);
141 break; 147 break;
148
142 case REP.SMCMD_PUT: 149 case REP.SMCMD_PUT:
143 int sessionID = sessionlist.addSession(channel, repCmd.string); //SIDを取得 150 if(repCmd.string.length() == 0){
144 smList.sendUpdate(sessionID, repCmd.string); //updateコマンド:Session生成を通知 151 sessionlist.addEditor(channel, 0, 0);
145 sessionmanagerGUI.setComboSession(sessionID, repCmd.string); //ComboBoxにSessionを追加 152 }else if(repCmd.string.length() > 0){
146 repCmd.setSID(sessionID); //SIDをセット 153 int sid = sessionlist.addSession(channel, repCmd.string);
147 repCmd.setCMD(repCmd.cmd + 1); //ACKを返す 154 sessionlist.addEditor(channel, sid, 0);
148 REPPacketSend repSend2 = new REPPacketSend(channel); 155 }
149 repSend2.send(repCmd); 156
150 //sessionlist.sendAddedSession(repCmd); 157 /*** 各エディタのテスト用 ***/
158 repCmd.setCMD(REP.SMCMD_PUT_ACK);
159 REPPacketSend sendPutAckTest = new REPPacketSend(channel);
160 sendPutAckTest.send(repCmd);
161
151 break; 162 break;
152 // case REP.SMCMD_PUT_ACK: 163 // case REP.SMCMD_PUT_ACK:
153 // break; 164 // break;
165
154 case REP.SMCMD_SELECT: 166 case REP.SMCMD_SELECT:
155 sessionlist.addEditor(channel, repCmd.sid, repCmd); //sessionlistへ追加 167 sessionlist.addEditor(channel, repCmd.sid, repCmd); //sessionlistへ追加
156 repCmd.setCMD(repCmd.cmd + 1); 168 repCmd.setCMD(repCmd.cmd + 1);
157 REPPacketSend repSend3 = new REPPacketSend(channel); 169 REPPacketSend repSend3 = new REPPacketSend(channel);
158 repSend3.send(repCmd); //ACKを返す 170 repSend3.send(repCmd); //ACKを返す
160 case REP.SMCMD_SELECT_ACK: 172 case REP.SMCMD_SELECT_ACK:
161 break; 173 break;
162 case REP.SMCMD_SESSION: 174 case REP.SMCMD_SESSION:
163 break; 175 break;
164 case REP.SMCMD_SM_JOIN: 176 case REP.SMCMD_SM_JOIN:
165 this.isMaster = true; 177 //this.isMaster = true;
166 myHost = repCmd.host; 178 //myHost = repCmd.host;
179 if(isMaster){
180 //REPPacketSend send = new REPPacketSend(channel);
181 repCmd.setCMD(REP.SMCMD_SM_JOIN_ACK);
182 smList.sendSessionList(sessionlist, repCmd);
183 }
167 sendSessionManagerJoinAck(channel, repCmd); 184 sendSessionManagerJoinAck(channel, repCmd);
168 break; 185 break;
169 case REP.SMCMD_SM_JOIN_ACK: 186 case REP.SMCMD_SM_JOIN_ACK:
170 this.isMaster = false; 187 this.isMaster = false;
171 myHost = repCmd.host; 188 myHost = repCmd.host;
263 //REPCommand sm_join_com = REPCommand.SMCMD_SESSION_JOIN; 280 //REPCommand sm_join_com = REPCommand.SMCMD_SESSION_JOIN;
264 //String socketString = getSocketString(sessionchannel); 281 //String socketString = getSocketString(sessionchannel);
265 //sm_join_com.setString(sm_join_com.string + ":" + socketString); 282 //sm_join_com.setString(sm_join_com.string + ":" + socketString);
266 send.send(REPCommand.SMCMD_SESSION_JOIN); 283 send.send(REPCommand.SMCMD_SESSION_JOIN);
267 smList.add(sessionchannel); 284 smList.add(sessionchannel);
285 smList.setMaster(sessionchannel);
268 }catch (IOException e) { 286 }catch (IOException e) {
269 e.printStackTrace(); 287 e.printStackTrace();
270 } 288 }
271 } 289 }
272 290