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