Mercurial > hg > RemoteEditor > REPSessionManager
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} |