Mercurial > hg > RemoteEditor > REPSessionManager
comparison Todo @ 361:65c6d12a5835
*** empty log message ***
author | kono |
---|---|
date | Sun, 19 Oct 2008 22:50:20 +0900 |
parents | 034acadc0cdc |
children | f0bd158dace6 |
comparison
equal
deleted
inserted
replaced
360:b25f832f875d | 361:65c6d12a5835 |
---|---|
1 Sun Oct 19 21:23:27 JST 2008 | |
2 | |
3 Todo: dispatch先のEditorの作成 (kono) | |
4 | |
5 Session は select 時に、channelを持つeditorが登録される。 | |
6 外から来た場合は、新しくeditor を作って、それをsession | |
7 に登録する必要がある。SessionManagerの入口のforwarderを | |
8 session に登録してしまうと、Sessionが一つの時にしか動かない。 | |
9 | |
10 put_ack は、putの時にすぐに出してしまって構わない。select_ack | |
11 が廻るので、その時にput_ackを出しても良いが... | |
12 | |
13 Todo: (kono) | |
14 複数のsessionのテストを作成する | |
15 | |
1 Sat Oct 18 20:03:10 JST 2008 | 16 Sat Oct 18 20:03:10 JST 2008 |
2 | 17 |
3 Note: Routing Table (kono) | 18 Todo: Routing Table (kono) |
4 | 19 |
5 Routing Table (Session, Editor)を作るには、上下双方向の通信が必要。 | 20 Routing Table (Session, Editor)を作るには、上下双方向の通信が必要。 |
6 SessionID を master が作ると、一旦、multi cast した後、もう一度、 | 21 SessionID を master が作ると、一旦、multi cast した後、もう一度、 |
7 上に上げる必要がある。Select の時には、editor から上に上がるので、 | 22 上に上げる必要がある。Select の時には、editor から上に上がるので、 |
8 その時に構築すれば良い。SessionManagerIDと組み合わせれば、eid/sid | 23 その時に構築すれば良い。SessionManagerIDと組み合わせれば、eid/sid |
23 そのeditor単一のpathだが、routing table に登録される。 | 38 そのeditor単一のpathだが、routing table に登録される。 |
24 select は、session ringに到達した時点で update を流す。 | 39 select は、session ringに到達した時点で update を流す。 |
25 update は、木をさかのぼりrouting tableを構築する。 | 40 update は、木をさかのぼりrouting tableを構築する。 |
26 これで上方向のroutingは確定する。update_ackにより、 | 41 これで上方向のroutingは確定する。update_ackにより、 |
27 下方向のsesionn routing tableが確定する。 | 42 下方向のsesionn routing tableが確定する。 |
43 Done: Sun Oct 19 21:29:08 JST 2008 | |
28 | 44 |
29 Wed Oct 15 13:33:58 JST 2008 | 45 Wed Oct 15 13:33:58 JST 2008 |
30 | 46 |
31 Note: (kono) | 47 Todo: (kono) |
32 | 48 |
33 Session List を渡すタイミング | 49 Session List を渡すタイミング |
34 | 50 |
35 SM_JOIN_ACK (必須...) | 51 SM_JOIN_ACK (必須...) |
36 SM_JOIN では、Session List は0なはず。 | 52 SM_JOIN では、Session List は0なはず。 |
54 複数 sm_join されることはあるが、その場合は最初のもの | 70 複数 sm_join されることはあるが、その場合は最初のもの |
55 を使う。ということは、localにsm_join された後、大域的 | 71 を使う。ということは、localにsm_join された後、大域的 |
56 に接続される場合があるってことか。ってことは、やっぱり、 | 72 に接続される場合があるってことか。ってことは、やっぱり、 |
57 session manager id を配布するべきだってことね。で、 | 73 session manager id を配布するべきだってことね。で、 |
58 SMの名前はあくまでも補助的に使う。 | 74 SMの名前はあくまでも補助的に使う。 |
59 | 75 Done: Sun Oct 19 21:29:08 JST 2008 |
76 | |
77 Todo: (kono) | |
60 UPDATEの情報によって削除も行なう。delete entry が必要。 | 78 UPDATEの情報によって削除も行なう。delete entry が必要。 |
61 | 79 |
80 Todo: (kono) | |
62 Routing Table | 81 Routing Table |
63 <eid, channel> | 82 <eid, channel> |
64 <sid, channel> | 83 <sid, channel> |
65 null は、local。channel==parent なら、自分の下にはいない。 | 84 null は、local。channel==parent なら、自分の下にはいない。 |
85 Done: Sun Oct 19 21:29:08 JST 2008 | |
66 | 86 |
67 Tue Oct 14 06:02:37 JST 2008 | 87 Tue Oct 14 06:02:37 JST 2008 |
68 | 88 |
69 Todo: (kono) | 89 Todo: (kono) |
70 取りあえず、sm_join()からか。次は、join(),put()。そして、 | 90 取りあえず、sm_join()からか。次は、join(),put()。そして、 |
71 update()。select()。最後に、gather()。 | 91 update()。select()。 |
92 Done: Sun Oct 19 21:29:08 JST 2008 | |
93 | |
94 Todo: (kono) | |
95 最後に、gather()。 | |
72 | 96 |
73 Todo: (kono) | 97 Todo: (kono) |
74 Select用に、routing tableが必要らしい。session ringへの | 98 Select用に、routing tableが必要らしい。session ringへの |
75 方向を表すtableを、put, update, update_ack時に作成する。 | 99 方向を表すtableを、put, update, update_ack時に作成する。 |
76 | 100 |
80 sm_join時のloop の検出。sm_joinを受け取った時には、sm接続にloopが | 104 sm_join時のloop の検出。sm_joinを受け取った時には、sm接続にloopが |
81 あるかどうかを調べる必要がある。これのテストも必要。 | 105 あるかどうかを調べる必要がある。これのテストも必要。 |
82 host_aからのsm_joinを受け取ったら、sm_join(host_a)を親に送る。 | 106 host_aからのsm_joinを受け取ったら、sm_join(host_a)を親に送る。 |
83 host_aがsm_join(host_a)を受け取ったら、それはloop。親がsm_join | 107 host_aがsm_join(host_a)を受け取ったら、それはloop。親がsm_join |
84 を受け取れば、そこからsm_join_ackを流して終了。 | 108 を受け取れば、そこからsm_join_ackを流して終了。 |
109 Done: Sun Oct 19 21:29:08 JST 2008 | |
85 | 110 |
86 Note: (kono) | 111 Note: (kono) |
87 複数のsession managerにsm_joinする場合もある。その場合は、 | 112 複数のsession managerにsm_joinする場合もある。その場合は、 |
88 親に代わりにsm_joinしてもらう? 親がreachableだとは限りませんが。 | 113 親に代わりにsm_joinしてもらう? 親がreachableだとは限りませんが。 |
89 禁止してもいいけど... | 114 禁止してもいいけど... |
147 Done: | 172 Done: |
148 | 173 |
149 Todo: (kono) | 174 Todo: (kono) |
150 PUT の時に、master session managerまで行って、session番号を確定する | 175 PUT の時に、master session managerまで行って、session番号を確定する |
151 必要がある。それまでは、PUT_ACKを出してはならない。 | 176 必要がある。それまでは、PUT_ACKを出してはならない。 |
177 Done: Sun Oct 19 21:29:08 JST 2008 | |
178 session manager IDを使ってuniqueにしたので、不要になった。 | |
179 即座に PUT_ACKを出して構わない。 | |
152 | 180 |
153 Todo: (kono) | 181 Todo: (kono) |
154 SM_JOIN時にmaster session managerを決定するプロトコルを実装する必要が | 182 SM_JOIN時にmaster session managerを決定するプロトコルを実装する必要が |
155 ある。たぶん、UPDATEだと思うが... | 183 ある。たぶん、UPDATEだと思うが... |
184 Done: Sun Oct 19 21:29:08 JST 2008 | |
185 木の根をmasterとして、変更しない。 | |
156 | 186 |
157 Todo: (kono) | 187 Todo: (kono) |
158 外から、きたSession Listを、ただしく自分に反映する。 | 188 外から、きたSession Listを、ただしく自分に反映する。 |
189 Done: Sun Oct 19 21:29:08 JST 2008 | |
159 | 190 |
160 Todo: (kono) | 191 Todo: (kono) |
161 test.ServerSample.java はあるが、ClientSample.java がない。 | 192 test.ServerSample.java はあるが、ClientSample.java がない。 |
162 | 193 |
163 Todo: (kono) | 194 Todo: (kono) |
165 | 196 |
166 Sun Oct 12 10:33:36 JST 2008 | 197 Sun Oct 12 10:33:36 JST 2008 |
167 | 198 |
168 Todo: | 199 Todo: |
169 END_MERGEが繰り返し出てしまう(kono) | 200 END_MERGEが繰り返し出てしまう(kono) |
201 Done: Sun Oct 19 21:29:08 JST 2008 | |
202 直ったかな? | |
170 | 203 |
171 Sat Oct 11 22:28:49 JST 2008 | 204 Sat Oct 11 22:28:49 JST 2008 |
172 | 205 |
173 Todo: | 206 Todo: |
174 Session Manager をまたがった接続のテスト (kono) | 207 Session Manager をまたがった接続のテスト (kono) |
185 | 218 |
186 | 219 |
187 Fri Oct 10 15:24:42 JST 2008 | 220 Fri Oct 10 15:24:42 JST 2008 |
188 sid は大域的にuniqueにする必要がある。UPDATEで新しくsessionを作ったことを | 221 sid は大域的にuniqueにする必要がある。UPDATEで新しくsessionを作ったことを |
189 通知して、Masterが新しいsidを決定し、UPDATE_ACKで他のSessionManagerに知らせる(kono) | 222 通知して、Masterが新しいsidを決定し、UPDATE_ACKで他のSessionManagerに知らせる(kono) |
223 Done: Sun Oct 19 21:29:08 JST 2008 | |
224 put時に、そのsession managerでsession manager idを使って、 | |
225 uniqueなsidを作成する。put/join/ackで他のSessionManagerに知らせる。 | |
190 | 226 |
191 Mon Oct 6 16:39:57 JST 2008 | 227 Mon Oct 6 16:39:57 JST 2008 |
192 | 228 |
193 Todo: translator にある5つのqueueが、Editor にもある。merge のアルゴリズムの | 229 Todo: translator にある5つのqueueが、Editor にもある。merge のアルゴリズムの |
194 実装を見直す必要がある。(kono) | 230 実装を見直す必要がある。(kono) |