Author: toad
Date: 2008-04-11 14:43:15 +0000 (Fri, 11 Apr 2008)
New Revision: 19180
Modified:
trunk/freenet/src/freenet/node/PacketSender.java
Log:
Make sure the disconnect message gets through when disconnecting a seednode.
Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java 2008-04-11 14:32:12 UTC
(rev 19179)
+++ trunk/freenet/src/freenet/node/PacketSender.java 2008-04-11 14:43:15 UTC
(rev 19180)
@@ -209,8 +209,10 @@
lastReceivedPacketFromAnyNode =
Math.max(pn.lastReceivedPacketTime(),
lastReceivedPacketFromAnyNode);
pn.maybeOnConnect();
+ boolean sendEverything = false;
if(pn.shouldDisconnectAndRemoveNow() &&
!pn.isDisconnecting()) {
node.peers.disconnect(pn, true, false);
+ sendEverything = true;
}
if(pn.isConnected()) {
@@ -300,7 +302,7 @@
l =
messages[j].submitted;
sz += 2 + /* FIXME only 2? */
messages[j].getData(pn).length;
}
- if(node.enablePacketCoalescing && (l +
MAX_COALESCING_DELAY > now) &&
+ if((!sendEverything) &&
node.enablePacketCoalescing && (l + MAX_COALESCING_DELAY > now) &&
(sz < ((PacketSocketHandler)
pn.getSocketHandler()).getPacketSendThreshold())) {
// Don't send immediately
if(nextActionTime > (l +
MAX_COALESCING_DELAY))