Mercurial > hg > RemoteEditor > REPSessionManager
diff rep/FirstConnector.java @ 359:fa041bae35f1
all code written for distributed session except gather.
author | kono |
---|---|
date | Sun, 19 Oct 2008 19:24:38 +0900 |
parents | 034acadc0cdc |
children | b25f832f875d |
line wrap: on
line diff
--- a/rep/FirstConnector.java Sun Oct 19 16:54:37 2008 +0900 +++ b/rep/FirstConnector.java Sun Oct 19 19:24:38 2008 +0900 @@ -30,24 +30,22 @@ case SMCMD_JOIN: { //どのSessionにも属さないエディタをリストに追加 - //エディタとchannelは1対1 (ではない) + //エディタとchannelは1対1 (ではないかも) //エディタが新しくputする場合は新しくソケットを作る // 1対1でない場合は、multiplexerを挿めば良い - // ここのeditorList はsessionのとは別物 - Editor editor = new Editor(manager,-1,channel); + Editor editor = manager.newEditor(channel); editor.setHost(manager.myHost); - manager.editorList.add(editor); - manager.updateGUI(); fw = editor; break; } case SMCMD_PUT: { - // put の場合でも、eid は、masterまで聞きにいく必要が - // ある。 - Editor editor = new Editor(manager,0,channel); + // 新しいeditorとsessionをここで作る。eid,sidは、 + // session manager IDが付いているので、global unique + Editor editor = manager.newEditor(channel); + Session session = manager.newSession(editor); + editor.setSID(session.getSID()); editor.setHost(manager.myHost); - manager.editorList.add(editor); fw = editor; break; }