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

Modified Files:
        ConnectionHandler.java OpenConnectionManager.java 
        PeerHandler.java Version.java 
Log Message:
6242:
Change needsConnection(true) algorithm: we need 2 conns not sending (but can be 
receiving), 1 conn not sending OR receiving.
FCP bugfixes (in NIO):
 Change RSL.scheduleMaintenance() to take SocketChannel, NIOReader.
 Use them when not registered.
Logging


Index: ConnectionHandler.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/ConnectionHandler.java,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -w -r1.181 -r1.182
--- ConnectionHandler.java      14 Oct 2003 19:41:36 -0000      1.181
+++ ConnectionHandler.java      14 Oct 2003 22:43:47 -0000      1.182
@@ -491,7 +491,7 @@
                disabledInSelector = false;
                reregistering = true;
                try {
-                       rsl.scheduleMaintenance(chan);
+                       rsl.scheduleMaintenance(chan, this);
                } catch (Throwable e) {
                        Core.logger.log(this, "Cannot reregister "+this+", due to "+e, 
e, Logger.ERROR);
                        terminate();
@@ -1659,7 +1659,7 @@
                        if(rsl != null && a != null && 
                           (closeNow || (a.remaining() > 0))) {
                                logDEBUG("Scheduling maintenance");
-                               rsl.scheduleMaintenance(chan);
+                               rsl.scheduleMaintenance(chan, ConnectionHandler.this);
                                logDEBUG("Scheduled maintenance");
                        }
                        if(rsl == null) {

Index: OpenConnectionManager.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/OpenConnectionManager.java,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -w -r1.121 -r1.122
--- OpenConnectionManager.java  14 Oct 2003 19:41:37 -0000      1.121
+++ OpenConnectionManager.java  14 Oct 2003 22:43:47 -0000      1.122
@@ -1644,7 +1644,7 @@
                                        // is now unregistered, it will not be checked 
until we are
                                        // registered
                                        tcpConnection.getRSL().register(sock, ch);
-                                       
tcpConnection.getRSL().scheduleMaintenance(sock.getChannel());
+                                       
tcpConnection.getRSL().scheduleMaintenance(sock.getChannel(), ch);
                                        if(logDEBUG) Core.logger.log(this, "Registered 
"+this+":"+ch,
                                                                                       
          Logger.DEBUG);
                     //ch.run();

Index: PeerHandler.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/PeerHandler.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -w -r1.16 -r1.17
--- PeerHandler.java    14 Oct 2003 19:41:37 -0000      1.16
+++ PeerHandler.java    14 Oct 2003 22:43:47 -0000      1.17
@@ -150,6 +150,7 @@
                
                int closedCount = 0;
                int sendingCount = 0;
+               int receivingCount = 0; // excludes those also sending
                int freeCount = 0;
                synchronized(connectionHandlers) {
                        for(Iterator e = connectionHandlers.listIterator(0);
@@ -165,7 +166,7 @@
                                        continue;
                                }
                                if(weak && ch.receiving()) {
-                                       sendingCount++;
+                                       receivingCount++;
                                        continue;
                                }
                                // If it is sending a trailer, it is not available
@@ -189,7 +190,8 @@
                                                        " closed "+closedCount+", 
sending "+
                                                        sendingCount+", free 
"+freeCount, Logger.DEBUG);
                if(weak) {
-                       if(freeCount < 2)
+                       if(freeCount + receivingCount < 2 // less than 2 free to send
+                          || freeCount < 1) // less than 1 free to receive
                                return true;
                        else
                                return false;

Index: Version.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/Version.java,v
retrieving revision 1.434
retrieving revision 1.435
diff -u -w -r1.434 -r1.435
--- Version.java        14 Oct 2003 19:42:58 -0000      1.434
+++ Version.java        14 Oct 2003 22:43:47 -0000      1.435
@@ -18,7 +18,7 @@
     public static String protocolVersion = "1.46";
     
     /** The build number of the current revision */
-    public static final int buildNumber = 6241;
+    public static final int buildNumber = 6242;
     // 6028: may 3; ARK retrieval fix
 
     public static final int ignoreBuildsAfter = 6500;

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

Reply via email to