# HG changeset patch # User one # Date 1227425720 -32400 # Node ID 149c9a53fc37f9a5a2a448f18d4b1d9d2f2bc1f2 # Parent dc616339b00a6cbae902c4eb319d175bb467cd19 half done ACK protocol diff -r dc616339b00a -r 149c9a53fc37 Todo --- a/Todo Wed Nov 19 17:07:04 2008 +0900 +++ b/Todo Sun Nov 23 16:35:20 2008 +0900 @@ -1,3 +1,9 @@ +Wed Nov 19 19:21:47 JST 2008 + +ACK base に書き換えるのは良いが、途中でjoinして +きたeditorが、ACKだけを受け取った時には無視する必要が +ある。 + Fri Oct 31 20:34:35 JST 2008 Note: diff -r dc616339b00a -r 149c9a53fc37 rep/handler/Editor.java --- a/rep/handler/Editor.java Wed Nov 19 17:07:04 2008 +0900 +++ b/rep/handler/Editor.java Sun Nov 23 16:35:20 2008 +0900 @@ -39,14 +39,22 @@ } - public void translate(REPCommand command){ + public void translate(REPCommand command){ + switch(command.cmd) { + case REPCMD_INSERT_ACK: + case REPCMD_DELETE_ACK: + if (command.eid==eid) { + // Second Phase が終わって同期が終了。 + return; + } + checkReturnedCommand(command); + return; + } if (command.eid == eid){ //エディタからの新たな編集コマンド if (next==this) return; // singleton case translator.transSendCmd(command); - sentList.add(new REPCommand(command)); - assert(sentList.size()