Author: toad
Date: 2008-01-25 19:32:12 +0000 (Fri, 25 Jan 2008)
New Revision: 17298

Modified:
   trunk/freenet/src/freenet/node/Version.java
Log:
1104: (mandatory 6PM tomorrow, sorry folk but we want an alpha out asap!)
Data transfer:
- Re-use some message filters to save memory.
- Drop any surplus messages for the transfer for 5 seconds after completion.
Requests:
- Decision on retry not to decrement is made the first time on the basis of the 
incoming peer, after that on the basis of the next peer.
- Hung inserts: If our background transfer notification waiters don't fire, log 
an error and end the hung insert anyway after 6 minutes (3x normal timeout).
- Backoff a node if we fail a sendSync().
Message layer: Make asynchronous filters work and not timeout (fixing e.g. 
insert hangs), and fix lots of leaks.
- Actually use the double-check that we do that the filter hasn't been matched 
before exiting addAsyncFilter(). This will have occasionally caused 
addAsyncFilter() not to throw when the node had in fact disconnected, resulting 
in hung inserts and possibly minor memory leaks.
- Add onDisconnected() and onRestarted() to AsyncMessageFilterCallback. Use 
these to not hang waiting for a transfer complete notice when the node we are 
waiting for disconnects.
- Fix failure to timeout old filters, caused by matched filters being on the 
filter list. This caused hung inserts waiting for transfer completion 
notifications, and probably other problems (it wouldn't impact on synchronous 
waits though, except in making a memory leak of them).
- If a matched filter is on the filter list, in removeTimedOutFilters(), report 
an ERROR, and remove it.
- Don't let asynchronous filters stay matched() after they fire. Clear it just 
as we clear it for synchronous filters, before calling the client callback. Log 
an error and clearMatched() if matched() filters are fed to waitFor() or 
addAsyncFilter().
- Synchronization fixes.
- clearMatched() clears matched on _or's as well as the main bit. Otherwise, we 
can't re-use filters with or()s. I don't think this affects any actual code at 
least prior to this build.
- If waitFor() times out, remove the filter explicitly. We can't rely on 
removeTimedOutFilters() being run before it is re-added, so it may end up in 
the queue twice (or more than twice), wasting memory and CPU and (prior to this 
build) blocking timeout of async filters. In removeTimedOutFilters(), allow an 
extra millisecond for this to take place.
- Always check all the filters in the queue in removeTimedOutFilters(). Avoids 
bugs, simplifies code, and deals properly with asynchronous filter callbacks 
with nontrivial shouldTimeout() - previously they wouldn't be matched until 
around the original timeout even if they did return true.
Client layer:
- Fix order of callbacks to fix error: ... but success?!
Differential noderefs:
- Send differential noderefs including the bits that we miss in setup to all 
peers including seed servers/seed clients.
Bookmarks:
- Update Another Index, french index, bombe editions.
- Add Zothar's flog to the dev blogs section.
- Reorder the indexes, change some descriptions.
Updater:
- Don't tell the user we are downloading the current version.
L10n/strings:
- "Your node" -> "Freenet" in 2 announcement strings, don't mention opennet as 
there's a big explanation above it anyway.
- Explain in the announcement alert that Freenet may be slow to begin with.
- Partial dutch translation from ljn1981.
Dev stuff:
- Logging.
- Comments.
- Trivial refactoring.
- Set the danish translation file to UTF-8 for eclipse.
- Fix some datastore NPEs that only show up at loglevel debug.
- Better MessageFilter.toString().
Plugins:
- Remove Librarian from the list of standard plugins.

Installer:
- Improve description/title of browser shortcut.
- Unix/Mac: Add restart and shutdown icons to the menu.

UPnP plugin:
- Daemonize various threads so it doesn't prevent shutdown.

MDNSDiscovery plugin:
- Make the receiver thread wake up once a second so that messages can be sent 
(waiting for input holds the lock). This probably also fixes a shutdown hang 
bug.


ljn1981
nextgens
toad
robert

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-01-25 19:29:32 UTC (rev 
17297)
+++ trunk/freenet/src/freenet/node/Version.java 2008-01-25 19:32:12 UTC (rev 
17298)
@@ -24,17 +24,17 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 1103;
+       private static final int buildNumber = 1104;

        /** Oldest build of Fred we will talk to */
        private static final int oldLastGoodBuild = 1101;
-       private static final int newLastGoodBuild = 1103;
+       private static final int newLastGoodBuild = 1104;
        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.JANUARY, 25, 0, 0, 0 );
+               _cal.set( 2008, Calendar.JANUARY, 26, 18, 0, 0 );
                transitionTime = _cal.getTimeInMillis();
        }



Reply via email to