diff Todo @ 475:af2cf5d37691

dead ended.
author one
date Fri, 15 Oct 2010 19:27:49 +0900
parents 596cc0a3beea
children
line wrap: on
line diff
--- a/Todo	Fri Oct 15 18:03:46 2010 +0900
+++ b/Todo	Fri Oct 15 19:27:49 2010 +0900
@@ -2,6 +2,12 @@
 
 でも単純ソートはうまくいかないはず。
 
+あ、そうか。このアルゴリズムだと、sentListがクリアされないものがいるね。
+
+二巡目のack で消すのだろうが...
+
+あとsortの範囲の問題がやっぱりある。
+
 Tue Oct 12 10:37:38 JST 2010
 
 やっぱり二周目に割り込んだコマンドが正しくsortされない。
@@ -46,6 +52,8 @@
 他コマンドのackは何もしない o
 merge 中の自コマンドは、確定させて処理(merge後に送信と同じ)
 
+Ackが来たら確定で良い?
+
     Editor3   Editor2    Editor1 
     c(eid=3)  e(eid=2)   a(eid=1)
     a(eid=1)  c(eid=3)   e(eid=2)
@@ -87,16 +95,22 @@
               a(eid=3)   c(eid=1)
     c(eid=1)* e(eid=2)   d(eid=3)   <- このe,d がsortされない必要があるらしい
     d(eid=3)  ca(eid=1)* a(eid=3)*
-    aa(eid=3)* d(eid=3)  e(eid=2)
-    e(eid=2)  aa(eid=3)* ca(eid=1)*
+    aa(eid=3)* d(eid=3)  e(eid=2)   <- a(eid=3)は確定、d(eid=3)は未確定
+    e(eid=2)  aa(eid=3)* ca(eid=1)* <- Editor1のe(eid=2)は、まだ未確定
               e(eid=2)*  d(eid=3)*
     da(eid=3)*           ea(eid=2)*
-    ea(eid=2)* da(eid=3)*
+    ea(eid=2)* da(eid=3)*           <- e(eid=2)を確定
 
     [c,a,e,d] [c,a,e,d]  [c,a,e,d]
 
 e(eid=2) は d(eid=3) を追い越す必要がある。
 
+他のエディタのコマンドが来た時に、優先順位でいきなりソート(merge)して良い。o
+既に他のコマンドを送信した後に、自コマンドが来たら、その前までの自編集以外の編集まで確定。o
+自コマンドのackで、まだ確定してない場合は確定。o
+他コマンドのackは 二周目のackが来たら、そのコマンドまで確定
+merge 中の自コマンドは、確定させて処理(merge後に送信と同じ)
+
     Editor1   Editor2    Editor3 
     c(eid=1)             a(eid=3)
     a(eid=3)  c(eid=1)