[freenet-cvs] r18353 - trunk/freenet/src/freenet/node
toad at freenetproject.org
toad at freenetproject.org
Tue Mar 4 17:16:14 UTC 2008
Author: toad
Date: 2008-03-04 17:16:14 +0000 (Tue, 04 Mar 2008)
New Revision: 18353
Modified:
trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
Fix another cause of forceGrab(negative), and maybe of worse things: we weren't resetting alreadyReportedBytes after sending a packet.
Logging: Detect when forceGrab(negative) is going to happen a bit earlier and log more info.
Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-03-04 17:09:13 UTC (rev 18352)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-03-04 17:16:14 UTC (rev 18353)
@@ -1659,7 +1659,12 @@
sock.sendPacket(data, replyTo, pn == null ? crypto.config.alwaysAllowLocalAddresses() : pn.allowLocalAddresses());
if(pn != null)
pn.reportOutgoingPacket(data, 0, data.length, System.currentTimeMillis());
- node.outputThrottle.forceGrab(data.length - alreadyReportedBytes);
+ int reportableBytes = data.length - alreadyReportedBytes;
+ if(reportableBytes < 0) {
+ Logger.error(this, "alreadyReportedBytes ("+alreadyReportedBytes+")> data.length ("+data.length+")");
+ reportableBytes = 0;
+ }
+ node.outputThrottle.forceGrab(reportableBytes);
}
/**
@@ -2124,6 +2129,7 @@
try {
// FIXME regenerate callbacks and priority!
innerProcessOutgoing(messageData, lastIndex, i-lastIndex, length, pn, neverWaitForPacketNumber, callbacks, alreadyReportedBytes, priority);
+ alreadyReportedBytes = 0;
for(int j=lastIndex;j<i;j++) {
MessageItem mi = newMsgs[j];
mi_name = (mi.msg == null ? "(not a Message)" : mi.msg.getSpec().getName());
More information about the cvs
mailing list