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