comparison Todo @ 450:21cb16b7f3df

block message in Editor.write()
author one
date Thu, 23 Sep 2010 18:15:37 +0900
parents 89a326696c54
children d295e84c5e03
comparison
equal deleted inserted replaced
449:89a326696c54 450:21cb16b7f3df
1 Thu Sep 23 14:57:57 JST 2010
2
3 やっぱり、send が
4
5 Editor Object から Editor へのsend
6 他の Editor Object から Editor へのsend
7
8 の二つに使われているのはダメだよ。片方をブロックしたい時があるのだから。
9
10 sendNext で分割してブロックはできた。問題は、途中で送られたものをどう
11 処理するかだが〜
12
13 うーん、すでにSession Manager の送信キューに入っているので、
14 blocking が効かないようだ。
15
16 そういうわけなので、受け側でなんとかした方が良いみたい。
17 可能なの? いや、無理だろうな。
18
19 REPNode.send 他のところからの送信
20 REPNode.write Serverの送信ループ
21
22 なので、Editor.write() で捕まえるか。
23
24 Thu Sep 23 12:13:19 JST 2010
25
26 START_MERGE から START_MERGE_ACK までにEditorから送られたコマンドは、
27 sentList に付け加えるべきでは?
28
29 しかし、その間、外部からEditorに送るコマンドは止める必要がある。
30
31 Editor.merging ... START_MERGE ... START_MERGE_ACK ... END_MERGE
32 Translaotr.merging ... START_MERGE_ACK ... END_MERGE
33
34 と言うように区別するか。
35
36 START_MERGE は、 Editor から返って来るタイミングでブロックするので、
37 その段階で、Editor へ送られているコマンドをブロックできない。
38 もちろん、Editor からのUSER_INPUTもブロックできない。
39
40 Editorの undoが正しくなくなるだけでなく、
41 Merge phase のコマンドが二つ続けて送られるのはよろしくない。
42
1 Wed Sep 22 19:59:26 JST 2010 43 Wed Sep 22 19:59:26 JST 2010
2 44
3 NOPを廻す方式とAckを廻す方式は、 45 NOPを廻す方式とAckを廻す方式は、
4 46
5 E_{10} N_{11} E_{23} E_{01} E_{02} N_{11} 47 E_{10} N_{11} E_{23} E_{01} E_{02} N_{11}