Author: toad
Date: 2006-11-28 01:35:50 +0000 (Tue, 28 Nov 2006)
New Revision: 11078
Modified:
trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
Stop sending too big packets. Stop sending packets with extra unwanted zeros at
the end after the messages.
Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2006-11-28
01:22:50 UTC (rev 11077)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2006-11-28
01:35:50 UTC (rev 11078)
@@ -1021,7 +1021,7 @@
if(!dontRequeue) {
requeueLogString = ", requeueing remaining
messages";
}
- length = 56;
+ length = 0;
int count = 0;
int lastIndex = 0;
alreadyReportedBytes = 0;
@@ -1031,7 +1031,7 @@
else thisLength = (messageData[i].length + 2);
int newLength = length + thisLength;
count++;
- if((newLength > node.usm.getMaxPacketSize()) || (count > 255)
|| (i == messages.length)) {
+ if((newLength + HEADERS_LENGTH_MINIMUM >
node.usm.getMaxPacketSize()) || (count > 255) || (i == messages.length)) {
// lastIndex up to the message right before this one
// e.g. lastIndex = 0, i = 1, we just send message 0
if(lastIndex != i) {
@@ -1102,7 +1102,7 @@
System.arraycopy(data, 0, buf, loc, len);
loc += len;
}
- processOutgoingPreformatted(buf, 0, bufferLength, pn,
neverWaitForPacketNumber, callbacks, alreadyReportedBytes);
+ processOutgoingPreformatted(buf, 0, loc, pn, neverWaitForPacketNumber,
callbacks, alreadyReportedBytes);
}
/**