Update of /cvsroot/freenet/freenet/src/freenet/transport
In directory sc8-pr-cvs1:/tmp/cvs-serv23996/src/freenet/transport

Modified Files:
        AbstractSelectorLoop.java 
Log Message:
6252
- Change NGRouting discard algorithm: Don't compare by successes if the node you are 
comparing to was not created yet at the time of your last success.
-- Keep original creation time for each node's estimator in the RT. Age is displayed 
on the node page.
- Make PeerPacket calculate message priorities
-- QueryRejected's don't count at all
-- Identify's count for four
-- Request's count for two
-- Being in the RT counts for one
-- We start at prio message+1 i.e. trailer.
- Fix sending of first packet for a while on conns: We were sending single message 
packets even when messages were queued, thus wasting the first packet.
-- Add ConnectionHandler.forceSendPacket() - sends a packet which it gets from the 
peerhandler
- Lose most synchronization on NGRT.route(). Add minimal synchronization at a lower 
level on StandardNodeEstimator, DecayingRunningAverage etc.
- Delete some unused code from ConnectionHandler, most of it already commented out
- Fix KeyCollisionException in StoreIOException error
- Fix bug in maxConnDefault for macos/x
- Catch race in ASL without throwing
- Logging etc


Index: AbstractSelectorLoop.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/transport/AbstractSelectorLoop.java,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -w -r1.82 -r1.83
--- AbstractSelectorLoop.java   16 Oct 2003 09:39:56 -0000      1.82
+++ AbstractSelectorLoop.java   17 Oct 2003 01:43:29 -0000      1.83
@@ -302,7 +302,15 @@
                //then remove
                synchronized(unregisterWaiters) {
                while (unregisterWaiters.size() >0) {
-                       ChannelAttachmentPair current = 
(ChannelAttachmentPair)unregisterWaiters.removeFirst();
+                       ChannelAttachmentPair current;
+                       try {
+                               current = 
+                                       
(ChannelAttachmentPair)unregisterWaiters.removeFirst();
+                       } catch (NoSuchElementException e) {
+                               Core.logger.log(this, "Parallel removal of elements in 
"+this+
+                                                               "?: "+e, e, 
Logger.ERROR);
+                               break;
+                       }
                        if (current.channel!=null) {
                                //we have a channel
                                SelectionKey k = current.channel.keyFor(sel);

_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to