# HG changeset patch # User one # Date 1285239079 -32400 # Node ID fa7d9ec2008e55289adda6a26851ca3df2eabf95 # Parent 21cb16b7f3df897d9defe5424bdd31ba335a5f61 too much blocking diff -r 21cb16b7f3df -r fa7d9ec2008e rep/handler/Editor.java --- a/rep/handler/Editor.java Thu Sep 23 18:15:37 2010 +0900 +++ b/rep/handler/Editor.java Thu Sep 23 19:51:19 2010 +0900 @@ -246,6 +246,7 @@ } private void startMerge(REPCommand command) { + ServerMainLoop.logger.writeLog("Editor"+eid+": startMerge "+command); preMergeCommand = new REPCommand(command); // merge は必須だが、EditorのCommand実装をテストするには邪魔なので、off に出来るようにする。 if (noMergeMode) { @@ -408,7 +409,11 @@ */ @Override public void write(REPCommand command) { - if ( !waitingRequired(command,channel)) { + if (merging) { + addWaitingCommand(new PacketSet(this, new REPCommand(command))); + return; + } + if (!waitingRequired(command,channel)) { if (isMergeCommand(command)) { merging = true; }