Mercurial > hg > RemoteEditor > REPSessionManager
comparison Todo @ 477:3cacd9d0e1c5
revert to old
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 15 Oct 2010 19:37:18 +0900 |
parents | 2107530c3d72 |
children | 607f1dfe2b80 |
comparison
equal
deleted
inserted
replaced
472:2107530c3d72 | 477:3cacd9d0e1c5 |
---|---|
1 Thu Oct 14 14:27:22 JST 2010 | |
2 | |
3 でも単純ソートはうまくいかないはず。 | |
4 | |
5 あ、そうか。このアルゴリズムだと、sentListがクリアされないものがいるね。 | |
6 | |
7 二巡目のack で消すのだろうが... | |
8 | |
9 あとsortの範囲の問題がやっぱりある。 | |
10 | |
1 Tue Oct 12 10:37:38 JST 2010 | 11 Tue Oct 12 10:37:38 JST 2010 |
2 | 12 |
3 やっぱり二周目に割り込んだコマンドが正しくsortされない。 | 13 やっぱり二周目に割り込んだコマンドが正しくsortされない。 |
14 | |
15 Editor3 Editor2 Editor1 | |
16 e(eid=2) | |
17 e(eid=2) | |
18 e(eid=2) | |
19 e(eid=2) c(eid=1) | |
20 ea(eid=2)* | |
21 c(eid=1) | |
22 ea(eid=2)* c(eid=1) | |
23 ea(eid=2)* c(eid=1) | |
24 ca(eid=1)* | |
25 ca(eid=1)* | |
26 ca(eid=1)* | |
27 | |
28 [e,c] [e,c] [c,e] | |
29 | |
30 うーん。 | |
31 | |
32 Editor3 Editor2 Editor1 | |
33 e(eid=2) a(eid=1) | |
34 a(eid=1) e(eid=2) | |
35 e(eid=2) a(eid=1) | |
36 e(eid=2)* c(eid=1) | |
37 a(eid=1)* | |
38 ea(eid=2)* | |
39 c(eid=1) | |
40 aa(eid=1)* c(eid=1) | |
41 ea(eid=2)* aa(eid=1)* c(eid=1)* | |
42 ca(eid=1)* | |
43 ca(eid=1)* | |
44 | |
45 [a,e,c] [a,e,c] [a,e,c] | |
46 | |
47 他のエディタのコマンドが来た時に、優先順位でいきなりソート(merge)して良い。o | |
48 自分のコマンドは、過去の低い優先順位を追い越さない。 x | |
49 一周(ack)が来たら、そこまでのundoは捨てて順位は固定。 x | |
50 既に他のコマンドを送信した後に、自コマンドが来たら、その前までの自編集以外の編集まで確定。o | |
51 自コマンドのackで、まだ確定してない場合は確定。o | |
52 他コマンドのackは何もしない o | |
53 merge 中の自コマンドは、確定させて処理(merge後に送信と同じ) | |
54 | |
55 Ackが来たら確定で良い? | |
56 | |
57 Editor3 Editor2 Editor1 | |
58 c(eid=3) e(eid=2) a(eid=1) | |
59 a(eid=1) c(eid=3) e(eid=2) | |
60 e(eid=2) a(eid=1) c(eid=3) | |
61 c(eid=3)* e(eid=2)* d(eid=1) <- このd がsortされない必要があるらしい | |
62 d(eid=1) ca(eid=3) a(eid=1)* | |
63 aa(eid=1)* d(eid=1) ea(eid=2)* | |
64 ea(eid=2)* aa(eid=1)* ca(eid=3)* | |
65 d(eid=1)* | |
66 da(eid=1)* | |
67 da(eid=1)* | |
68 | |
69 [a,e,c,d] [a,e,c,d] [a,e,c,d] | |
70 | |
71 優先順位1でない場合 | |
72 | |
73 Editor1 Editor2 Editor3 | |
74 c(eid=1) e(eid=2) a(eid=3) | |
75 a(eid=3) c(eid=1) e(eid=2) | |
76 e(eid=2) a(eid=3) c(eid=1) | |
77 c(eid=1)* e(eid=2)* d(eid=3) <- このd がsortされない必要があるらしい | |
78 d(eid=3) ca(eid=1) a(eid=3)* | |
79 aa(eid=3)* d(eid=3) ea(eid=2)* | |
80 ea(eid=2)* aa(eid=3)* ca(eid=1)* | |
81 d(eid=3)* | |
82 da(eid=3)* | |
83 da(eid=3)* | |
84 | |
85 [c,e,a,d] [c,e,a,d] [c,e,a,d] | |
86 | |
87 優先順位に関係なく、他コマンドの後の自分のコマンドは | |
88 sort しないものらしい。 | |
89 | |
90 そこにさらに他コマンドが割り込んだ場合は? | |
91 | |
92 Editor1 Editor2 Editor3 | |
93 c(eid=1) a(eid=3) | |
94 a(eid=3) c(eid=1) | |
95 a(eid=3) c(eid=1) | |
96 c(eid=1)* e(eid=2) d(eid=3) <- このe,d がsortされない必要があるらしい | |
97 d(eid=3) ca(eid=1)* a(eid=3)* | |
98 aa(eid=3)* d(eid=3) e(eid=2) <- a(eid=3)は確定、d(eid=3)は未確定 | |
99 e(eid=2) aa(eid=3)* ca(eid=1)* <- Editor1のe(eid=2)は、まだ未確定 | |
100 e(eid=2)* d(eid=3)* | |
101 da(eid=3)* ea(eid=2)* | |
102 ea(eid=2)* da(eid=3)* <- e(eid=2)を確定 | |
103 | |
104 [c,a,e,d] [c,a,e,d] [c,a,e,d] | |
105 | |
106 e(eid=2) は d(eid=3) を追い越す必要がある。 | |
107 | |
108 他のエディタのコマンドが来た時に、優先順位でいきなりソート(merge)して良い。o | |
109 既に他のコマンドを送信した後に、自コマンドが来たら、その前までの自編集以外の編集まで確定。o | |
110 自コマンドのackで、まだ確定してない場合は確定。o | |
111 他コマンドのackは 二周目のackが来たら、そのコマンドまで確定 | |
112 merge 中の自コマンドは、確定させて処理(merge後に送信と同じ) | |
113 | |
114 Editor1 Editor2 Editor3 | |
115 c(eid=1) a(eid=3) | |
116 a(eid=3) c(eid=1) | |
117 a(eid=3) c(eid=1) | |
118 c(eid=1)* e(eid=2) d(eid=3) <- このe,d がsortされない必要があるらしい | |
119 d(eid=3) a(eid=3)* | |
120 d(eid=3) e(eid=2) | |
121 e(eid=2) | |
122 e(eid=2)* d(eid=3)* | |
123 | |
124 [c,a,e,d] [c,a,e,d] [c,a,e,d] | |
125 | |
126 もしかして、ack って必要ないの? え〜 | |
127 | |
128 Editor1 Editor2 Editor3 | |
129 c(eid=1) e(eid=2) a(eid=3) | |
130 a(eid=3) c(eid=1) e(eid=2) | |
131 e(eid=2) a(eid=3) c(eid=1) | |
132 c(eid=1)* e(eid=2)* d(eid=3) <- このd がsortされない必要があるらしい | |
133 d(eid=3) a(eid=3)* | |
134 d(eid=3) | |
135 d(eid=3)* | |
136 | |
137 [c,e,a,d] [c,e,a,d] [c,e,a,d] | |
138 | |
139 4つの場合の特殊性はある? | |
140 | |
141 | |
142 | |
4 | 143 |
5 Mon Oct 11 22:12:35 JST 2010 | 144 Mon Oct 11 22:12:35 JST 2010 |
6 | 145 |
7 あ、そうか。singleton case 中のコマンドは無視されてしまうわけね。SYNC すれば良いはずだが。 | 146 あ、そうか。singleton case 中のコマンドは無視されてしまうわけね。SYNC すれば良いはずだが。 |
8 | 147 |