[freenet-cvs] r18363 - trunk/freenet/src/freenet/node
toad at freenetproject.org
toad at freenetproject.org
Tue Mar 4 23:28:15 UTC 2008
Author: toad
Date: 2008-03-04 23:28:15 +0000 (Tue, 04 Mar 2008)
New Revision: 18363
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1120: (mandatory friday 7 march)
Client layer:
- Increase the minimum size of the cooldown queue to 128.
- Synchronization fix.
- Don't create a cooldown queue for the insert ClientRequestScheduler's.
Congestion control: (PacketThrottle)
- If a *Transmitter is in PacketThrottle.sendThrottledPacket and waiting for clearance to send, and the connection becomes disconnected, it would hang. This is bad! The solution is to check whether the peernode has restarted/disconnected, and to notify the throttle when this is likely to have happened. Also, when the address changes, we pass on via an exception from one PacketThrottle to the next. *Transmitter calls PeerNode.sendThrottledPacket(), which catches the exception and loops if necessary.
- Loop (moving from one throttle to the next) only up to 100 times; if a node continually changes its IP, force disconnect.
- Fix negative forceGrab()s on the master throttle.
ARKs:
- Include physical.udp in ARKs again. Should be as it was before it was broken. However it's refactored: we pass in an extra boolean.
Stats:
- Don't log bytes to the IOStatisticCollector if we haven't managed to send them e.g. because of IPv6.
- Count and display bytes used by resending packets, update over mandatory, announcement, and other (anything not accounted for).
- Report bytes used by path folding to the request they are part of.
- Slightly improve accuracy of onSent() bytes: fullHeadersLengthMinimum not fullHeadersLengthOneMessage.
- BulkTransmitter/BulkReceiver support a ByteCounter.
- Track resent bytes on a per-peer basis as well as globally, and show in the in/out column on the stats page.
- Add a ByteCounter to localBroadcast().
- Stats page: Show the current location in the location swaps box.
Startup/etc:
- Prevent NumberFormatException's in PeerNode() by using parseLong(,default) (also BaseFileBucket).
Link layer:
- alreadyReportedBytes was accumulating and increasing across a loop sending multiple packets in FNPPM.processOutgoingOrRequeue, resulting in us charging negative numbers of bytes to the throttle. Fix, and detect negatives earlier.
- PeerNode synchronization fixes.
Requests:
- Fix race condition resulting in calling sendTerminal twice.
- Fix some NPEs.
- Fix lastNode being set to null resulting in "requestsender took too long to respond to requestor (1991w5d/null) routed to null" (there's an error, it's just that we'd really like to know where it's from).
- Revert early addListener() on RequestSender, it causes NPEs.
- Synchronization fixes to prevent NPEs and to fix the handler thinking it is past the timeout when there is a race condition and it finishes inside the constructor.
Bulk transfer:
- Ignore packets with blockNo > max.
L10n:
- Update the German translation.
Dev stuff:
- Slightly better error message when fail to move data.
- Logging.
- Fix typo in comment.
- Make PeerNode.pingAverage private.
- Fields.parseLong/Short/Int -> parseSILong/SIShort/SIInt.
- Add parseLong/parseShort/parseInt with a default.
- toString()'s.
- Add serialVersion's. (fix warnings)
- Dead code deletion.
- Access static stuff statically. (fix warnings)
- Imports.
Installer and contrib:
- Suppress a warning when in offline mode.
- Bundle Thingamablog.
- MIPS support from Sven-Ola Tuecke
Website:
- Show how to get source on developer page.
MRogers' simulations:
- Add copyright notices.
- Tidy-ups, variable renames, remove hardcoded event codes and allocate them statically (non-overlapping).
mrogers
nextgens
toad
tommy
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-03-04 18:03:51 UTC (rev 18362)
+++ trunk/freenet/src/freenet/node/Version.java 2008-03-04 23:28:15 UTC (rev 18363)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1119;
+ private static final int buildNumber = 1120;
/** Oldest build of Fred we will talk to */
private static final int oldLastGoodBuild = 1113;
- private static final int newLastGoodBuild = 1119;
+ private static final int newLastGoodBuild = 1120;
static final long transitionTime;
static {
final Calendar _cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
// year, month - 1 (or constant), day, hour, minute, second
- _cal.set( 2008, Calendar.MARCH, 3, 0, 0, 0 );
+ _cal.set( 2008, Calendar.MARCH, 7, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}
More information about the cvs
mailing list