Author: toad
Date: 2008-04-21 15:35:19 +0000 (Mon, 21 Apr 2008)
New Revision: 19484
Modified:
trunk/freenet/src/freenet/node/OpennetManager.java
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/RequestStarter.java
Log:
Don't kill requests until 5 minutes after opennet startup time. Not 5 minutes
after startup.
This feature is used simply to prevent the activelink images from timing out on
a newbie node.
Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java 2008-04-21 15:13:25 UTC
(rev 19483)
+++ trunk/freenet/src/freenet/node/OpennetManager.java 2008-04-21 15:35:19 UTC
(rev 19484)
@@ -92,8 +92,11 @@
/** Allow for future expansion. However at any given time all noderefs
should be PADDED_NODEREF_SIZE */
static final int MAX_OPENNET_NODEREF_LENGTH = 32768;
+ private final long creationTime;
+
public OpennetManager(Node node, NodeCryptoConfig opennetConfig, long
startupTime) throws NodeInitException {
logMINOR = Logger.shouldLog(Logger.MINOR, this);
+ this.creationTime = System.currentTimeMillis();
this.node = node;
crypto =
new NodeCrypto(node, true, opennetConfig, startupTime,
node.enableARKs);
@@ -671,4 +674,8 @@
node.executor.execute(sender, "Announcement to "+target);
}
+ public long getCreationTime() {
+ return creationTime;
+ }
+
}
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2008-04-21 15:13:25 UTC
(rev 19483)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2008-04-21 15:35:19 UTC
(rev 19484)
@@ -1635,6 +1635,17 @@
return count;
}
+ public int countConnectedPeers() {
+ int count = 0;
+ PeerNode[] peers = myPeers;
+ for(int i=0;i<peers.length;i++) {
+ if(peers[i] == null) continue;
+ if(!peers[i].isRoutable()) continue;
+ count++;
+ }
+ return count;
+ }
+
public int countAlmostConnectedDarknetPeers() {
int count = 0;
PeerNode[] peers = myPeers;
@@ -1708,5 +1719,5 @@
}
return null;
}
-
+
}
Modified: trunk/freenet/src/freenet/node/RequestStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarter.java 2008-04-21 15:13:25 UTC
(rev 19483)
+++ trunk/freenet/src/freenet/node/RequestStarter.java 2008-04-21 15:35:19 UTC
(rev 19484)
@@ -97,7 +97,9 @@
long cycleTime = sentRequestTime;
while(true) {
// Allow 5 minutes before we start killing requests due
to not connecting.
- if(System.currentTimeMillis() - startupTime < 300*1000
&& core.node.peers.countConnectedDarknetPeers() +
core.node.peers.countConnectedOpennetPeers() == 0) {
+ OpennetManager om;
+ if(core.node.peers.countConnectedPeers() == 0 && (om =
core.node.getOpennet()) != null &&
+ System.currentTimeMillis() -
om.getCreationTime() > 5*60*1000) {
try {
synchronized(this) {
wait(1000);
@@ -224,10 +226,7 @@
}
}
- private long startupTime;
-
public void run() {
- startupTime = System.currentTimeMillis();
freenet.support.Logger.OSThread.logPID(this);
while(true) {
try {