Author: toad
Date: 2007-12-04 13:16:34 +0000 (Tue, 04 Dec 2007)
New Revision: 16255
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1087: (mandatory 0:00 6 dec)
Request handling:
- sendAsync() the Accepted in RequestHandler. Should *significantly* reduce
request latency (maybe 50%) while making no difference to bandwidth usage. We
don't need to wait for the round trip, it gives very little protection against
DoS to do so, and not doing so helps with load.
- Locking fix (using wrong lock accessing byte totals on RequestHandler) -
hopefully more accurate byte totals => better load management.
Memory usage / memory DoS'es:
- Clear the message send queue when a node reconnects with a different bootID.
- Dump the message queue in various cases and the tracker in various cases of
disconnect()/forceDisconnect(). Generally if we expect to be down for a long
time, dump it.
- Dump the message queue 1 hour after disconnection if not reconnected at least
once in that time.
Send-queue DoS: A node could connect and send requests and never ack any
packets. No packets would be sent to it, but it could keep on sending requests,
and the output would accumulate in RAM until the node OOMed.
- Reject requests from a node if its send queue is over 4MB or over 10 minutes
at the current throttle rate.
First time wizard:
- Link to the node at the end of the wizard.
- Make the link to continue with the wizard at the beginning more obvious.
Dev stuff:
- Move timeLastDisconnect/timePrevDisconnect into PeerNode.
- Imports.
- Indenting.
- Comments.
- Code clarifications.
L10n
- Some cosmetic changes to the english strings
juiceman
nextgens
robert
toad
Echo:
- Code and comments cleanups, PUT now returns null.
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2007-12-04 06:00:15 UTC (rev
16254)
+++ trunk/freenet/src/freenet/node/Version.java 2007-12-04 13:16:34 UTC (rev
16255)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1086;
+ private static final int buildNumber = 1087;
/** Oldest build of Fred we will talk to */
private static final int oldLastGoodBuild = 1085;
- private static final int newLastGoodBuild = 1086;
+ private static final int newLastGoodBuild = 1087;
static final long transitionTime;
static {
final Calendar _cal =
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
// year, month - 1 (or constant), day, hour, minute, second
- _cal.set( 2007, Calendar.DECEMBER, 5, 0, 0, 0 );
+ _cal.set( 2007, Calendar.DECEMBER, 6, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}