Author: toad
Date: 2008-04-11 21:00:07 +0000 (Fri, 11 Apr 2008)
New Revision: 19208

Modified:
   trunk/freenet/src/freenet/node/Version.java
Log:
1138: (mandatory sunday)
Uptime estimation:
- Every 5 minutes, record the time as an integer (time since epoch divided by 5 
minutes) to uptime.dat. Rotate this to uptime.old.dat when it gets 48 hours 
data. Read both on startup, use this to calculate what percentage of the last 
48 hours the node was up during.
- Show this on the stats page.
- Publish it to other nodes on connect (FNPUptime).
- Show it on the connections page in advanced mode.
- When calculating whether we are a sink for a key (and therefore whether to 
store an inserted block in the store), ignore nodes with uptime less than a 
constant. Right now this is 0%, but it will be set to a larger number once this 
build has been mandatory for 48 hours. This should significantly improve the 
retrievability of data inserted during a slashdot, and maybe in general too.
Opennet:
- Remove even disconnected seednodes from the list once we have finished 
announcing (via PeerNode.shouldDisconnectAndRemoveNow).
- Make useralert dismissable. It will come back on restart though!
Stats:
- Output bandwidth liability: Don't use the overhead fraction, go back to using 
the overhead rate, so we assume the overhead will be the same as it has been 
per second, and work out how much bandwidth is available. Then impose a minimum 
of 20% of the limit, to prevent the node becoming unrecoverable if something 
goes wrong.
- Using the overhead fraction was causing the node to become unrecoverable on 
low bandwidth in some cases.
L10n:
- Fix some english, improve some config option descriptions / UI strings.
- Italin translation update.
FEC encoding/decoding:
- Use all available processors, but only one on OS/X or if NativeThread isn't 
working, and some memory limits (1 thread up to 256M, then one thread per 128MB 
of available RAM). Eventually this should be configurable.
Datastore (BDBFS):
- Don't sleep while holding closeLock. closed is locked on this, not on 
closeLock.
- Refactor close() slightly. Changed exception handling.
- Optimise reconstruct() slightly by using commitNoSync().
Bulk transfer:
- Make abort() actually kill the BulkReceiver. We weren't setting it in PRB, so 
aborts would leave it running.
Dev stuff:
- More refactoring in BDBFS, delete unused variables and simplify syntax.
- Use static and final where possible, delete some unused code, fix some 
instanceof-will-always-return-true's.
- Move codecNumberForMetadata() from Compressor to GzipCompressor (it should be 
abstract on Compressor).
- Javadocs.
- Logging.

Unit testing:
- Add unit tests for Compressor and GzipCompressor.
- Add unit tests for SortedLongSet.
- Add seemingly pointless unit test for MutableBoolean.
- Add unit test for HTTPReply.
- Add unit test for Loader.
- Move Base64 random data unit test to the unit tests dir so is actually run.

Website: (sanity)
- ngrouting: link to http://arxiv.org/abs/0804.0577

dbkr
j16sdiz
luke771
toad
wavey

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-04-11 20:37:55 UTC (rev 
19207)
+++ trunk/freenet/src/freenet/node/Version.java 2008-04-11 21:00:07 UTC (rev 
19208)
@@ -24,17 +24,17 @@
        public static final String protocolVersion = "1.0";

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

        /** Oldest build of Fred we will talk to */
        private static final int oldLastGoodBuild = 1135;
-       private static final int newLastGoodBuild = 1136;
+       private static final int newLastGoodBuild = 1138;
        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.APRIL, 12, 0, 0, 0 );
+               _cal.set( 2008, Calendar.APRIL, 13, 0, 0, 0 );
                transitionTime = _cal.getTimeInMillis();
        }



Reply via email to