Mercurial > hg > RemoteEditor > REPSessionManager
comparison 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 |
comparison
equal
deleted
inserted
replaced
358:034acadc0cdc | 359:fa041bae35f1 |
---|---|
28 SessionManager.logger.writeLog("FirstConnector: command = " + command); | 28 SessionManager.logger.writeLog("FirstConnector: command = " + command); |
29 switch(command.cmd) { | 29 switch(command.cmd) { |
30 case SMCMD_JOIN: | 30 case SMCMD_JOIN: |
31 { | 31 { |
32 //どのSessionにも属さないエディタをリストに追加 | 32 //どのSessionにも属さないエディタをリストに追加 |
33 //エディタとchannelは1対1 (ではない) | 33 //エディタとchannelは1対1 (ではないかも) |
34 //エディタが新しくputする場合は新しくソケットを作る | 34 //エディタが新しくputする場合は新しくソケットを作る |
35 // 1対1でない場合は、multiplexerを挿めば良い | 35 // 1対1でない場合は、multiplexerを挿めば良い |
36 // ここのeditorList はsessionのとは別物 | 36 Editor editor = manager.newEditor(channel); |
37 Editor editor = new Editor(manager,-1,channel); | |
38 editor.setHost(manager.myHost); | 37 editor.setHost(manager.myHost); |
39 manager.editorList.add(editor); | |
40 manager.updateGUI(); | |
41 fw = editor; | 38 fw = editor; |
42 break; | 39 break; |
43 } | 40 } |
44 case SMCMD_PUT: | 41 case SMCMD_PUT: |
45 { | 42 { |
46 // put の場合でも、eid は、masterまで聞きにいく必要が | 43 // 新しいeditorとsessionをここで作る。eid,sidは、 |
47 // ある。 | 44 // session manager IDが付いているので、global unique |
48 Editor editor = new Editor(manager,0,channel); | 45 Editor editor = manager.newEditor(channel); |
46 Session session = manager.newSession(editor); | |
47 editor.setSID(session.getSID()); | |
49 editor.setHost(manager.myHost); | 48 editor.setHost(manager.myHost); |
50 manager.editorList.add(editor); | |
51 fw = editor; | 49 fw = editor; |
52 break; | 50 break; |
53 } | 51 } |
54 case SMCMD_SM_JOIN: | 52 case SMCMD_SM_JOIN: |
55 { | 53 { |