# HG changeset patch # User one # Date 1284195244 -32400 # Node ID 5cbe1731f40cd820446c61d9acb2e607f9237d5f # Parent 146d91b61b36481a602dcb805572e1e03e14c56f fix checkAck in Editor.java diff -r 146d91b61b36 -r 5cbe1731f40c rep/handler/Editor.java --- a/rep/handler/Editor.java Sat Sep 11 16:55:31 2010 +0900 +++ b/rep/handler/Editor.java Sat Sep 11 17:54:04 2010 +0900 @@ -17,7 +17,7 @@ private Translator translator; // REPCommands we are going to send to the next editor - private List sentList = new LinkedList(); + private LinkedList sentList = new LinkedList(); protected LinkedList waitingCommandInMerge= new LinkedList(); private REPCommand quit2=null; private boolean merging; @@ -222,8 +222,7 @@ * @param command */ void checkReturnedCommand(REPCommand command) { - if (checkAck(command)) - startMerge(command); + startMerge(command); return; } @@ -235,17 +234,18 @@ // command.cmd==REP.REPCMD_INSERT_ACK); // return false; // } -// REPCommand prev = sentList.get(0); + REPCommand prev = sentList.pollFirst(); // // ServerMainLoop.logger.writeLog("Editor eid="+eid+" remove sentList:"+(prev==null?"null":prev)); -// if (prev==null || prev.seq != command.seq || prev.eid!=command.eid) { -// String err = "Editor eid="+eid+" checkReturnedCommand() : command = " + command + " prev="+ -// (prev==null?"null":prev)+" sentList="; -// err += sentList; -// ServerMainLoop.logger.writeLog(err); + if (prev==null || prev.seq != command.seq || prev.eid!=command.eid) { + String err = "Editor eid="+eid+" checkReturnedCommand() : command = " + command + " prev="+ + (prev==null?"null":prev)+" sentList="; + err += sentList; + ServerMainLoop.logger.writeLog(err); + assert(false); // assert(command.cmd==REP.REPCMD_DELETE_ACK|| // command.cmd==REP.REPCMD_INSERT_ACK); // return false; -// } + } return true; } diff -r 146d91b61b36 -r 5cbe1731f40c rep/handler/Translator.java --- a/rep/handler/Translator.java Sat Sep 11 16:55:31 2010 +0900 +++ b/rep/handler/Translator.java Sat Sep 11 17:54:04 2010 +0900 @@ -86,12 +86,12 @@ * @return if any sent commands output */ public boolean optimizedSend(REPNode editor, LinkedList output) { + sentMergedList.clear(); List output1 = optimizer.optimize(output); if (output1.size()==0) { merge_mode = false; return false; } - assert(sentMergedList.size()==0); for(REPCommand c:output1) { REPCommand m = new REPCommand(c); m.setEID(REP.MERGE_EID.id); @@ -128,9 +128,9 @@ } /** - * Translate Command cmd that was received from SeMa. + * Translate Command that was received from SeMa. * @param cmd the command to be translated. - * @return translated commannd. + * @return translated command. */ public void transReceiveCmd(REPNode nextEditor,REPCommand cmd){ assert (cmd.eid != eid);