Author: zothar
Date: 2006-06-09 13:21:09 +0000 (Fri, 09 Jun 2006)
New Revision: 9095
Modified:
trunk/freenet/src/freenet/node/PeerNode.java
Log:
Limit concurrently running ARK Fetch requests and time ARKFetcher starts in
couldNotSendHandshake() like we're already doing in sentHandshake().
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2006-06-09 13:04:40 UTC
(rev 9094)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2006-06-09 13:21:09 UTC
(rev 9095)
@@ -885,8 +885,18 @@
}
// Don't fetch ARKs for peers we have verified (through handshake) to
be incompatible with us
if(handshakeCount == MAX_HANDSHAKE_COUNT &&
!(verifiedIncompatibleOlderVersion || verifiedIncompatibleNewerVersion)) {
- Logger.normal( this, "Starting ARK Fetcher after
"+handshakeCount+" failed handshakes(2) for "+getPeer()+" with identity
'"+getIdentityString()+"'");
- arkFetcher.start();
+ int numARKFetchers = node.getNumARKFetchers();
+ if( numARKFetchers >= 30 ) { // Limit concurrent ARK Fetch
Requests to 30 since we UserAlert at 20 disconnected peers anyway
+ Logger.minor( this, "Not starting ARK Fetcher
after "+handshakeCount+" failed handshakes for "+getPeer()+" with identity
'"+getIdentityString()+"' because there are already 30 ARK Fetchers running.");
+ } else {
+ Logger.normal( this, "Starting ARK Fetcher
after "+handshakeCount+" failed handshakes for "+getPeer()+" with identity
'"+getIdentityString()+"'");
+ long arkFetcherStartTime1 =
System.currentTimeMillis();
+ arkFetcher.start();
+ long arkFetcherStartTime2 =
System.currentTimeMillis();
+ if((arkFetcherStartTime2 -
arkFetcherStartTime1) > 500) {
+ Logger.normal(this,
"arkFetcherStartTime2 is more than half a second after arkFetcherStartTime1
("+(arkFetcherStartTime2 - arkFetcherStartTime1)+") working on "+myName);
+ }
+ }
}
}