Author: toad
Date: 2005-11-26 00:26:12 +0000 (Sat, 26 Nov 2005)
New Revision: 7618
Modified:
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/ThrottledPacketSender.java
trunk/freenet/src/freenet/node/Version.java
Log:
233:
Logging.
Show number of running requests, inserts etc in STATUS.
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2005-11-26 00:11:24 UTC (rev
7617)
+++ trunk/freenet/src/freenet/node/Node.java 2005-11-26 00:26:12 UTC (rev
7618)
@@ -768,7 +768,7 @@
* @return Some status information.
*/
public String getStatus() {
- return peers.getStatus();
+ return peers.getStatus()+"\nInserts:
"+insertSenders.size()+"\nRequests: "+requestSenders.size()+"\nTransferring
requests: "+this.transferringRequestSenders.size();
}
/**
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2005-11-26 00:11:24 UTC
(rev 7617)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2005-11-26 00:26:12 UTC
(rev 7618)
@@ -286,6 +286,7 @@
*/
public PeerNode closerPeer(PeerNode pn, HashSet routedTo, double loc,
boolean ignoreSelf) {
PeerNode[] peers = connectedPeers;
+ Logger.minor(this, "Choosing closest peer:
connectedPeers="+peers.length);
double bestDiff = Double.MAX_VALUE;
double maxDiff = 0.0;
if(!ignoreSelf)
Modified: trunk/freenet/src/freenet/node/ThrottledPacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/ThrottledPacketSender.java 2005-11-26
00:11:24 UTC (rev 7617)
+++ trunk/freenet/src/freenet/node/ThrottledPacketSender.java 2005-11-26
00:26:12 UTC (rev 7618)
@@ -32,21 +32,35 @@
this.msg = msg2;
this.pn = pn2;
sent = false;
+ queuedTime = System.currentTimeMillis();
}
final Message msg;
final PeerNode pn;
+ final long queuedTime;
boolean sent;
+ boolean lostConn;
+ RuntimeException re;
+ Error err;
- public void waitUntilSent() {
+ public void waitUntilSent() throws NotConnectedException {
synchronized(this) {
- while(!sent) {
+ while(!(sent || lostConn || re != null || err
!= null)) {
try {
wait(10*1000);
} catch (InterruptedException e) {
// Ignore
}
}
+ if(lostConn) throw new NotConnectedException();
+ if(re != null) throw re;
+ if(err != null) throw err;
+ long timeDiff = System.currentTimeMillis() -
queuedTime;
+ if(timeDiff > 30*1000)
+ Logger.error(this, "Took "+timeDiff+"
ms to send packet "+msg+" to "+pn);
+ else
+ Logger.minor(this, "Took "+timeDiff+"
ms to send packet "+msg+" to "+pn);
+
}
}
}
@@ -62,7 +76,7 @@
ThrottledPacket p = new ThrottledPacket(msg, pn);
synchronized(queuedPackets) {
queuedPackets.addLast(p);
- queuedPackets.notify();
+ queuedPackets.notifyAll();
}
return p;
}
@@ -101,20 +115,39 @@
if(queuedPackets.isEmpty()) return false;
p = (ThrottledPacket)
queuedPackets.removeFirst();
}
- if(!p.pn.isConnected()) continue;
+ if(!p.pn.isConnected()) {
+ synchronized(p) {
+ p.lostConn = true;
+ p.notifyAll();
+ }
+ continue;
+ }
try {
p.pn.send(p.msg);
+ } catch (NotConnectedException e) {
synchronized(p) {
- p.sent = true;
+ p.lostConn = true;
p.notifyAll();
}
+ continue;
+ } catch (RuntimeException e) {
+ synchronized(p) {
+ p.re = e;
+ p.notifyAll();
+ }
return true;
- } catch (NotConnectedException e) {
- continue;
- } catch (Throwable t) {
- Logger.error(this, "Caught "+t, t);
- continue;
+ } catch (Error e) {
+ synchronized(p) {
+ p.err = e;
+ p.notifyAll();
+ }
+ return true;
}
+ synchronized(p) {
+ p.sent = true;
+ p.notifyAll();
+ }
+ return true;
}
}
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-26 00:11:24 UTC (rev
7617)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-26 00:26:12 UTC (rev
7618)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 232;
+ public static final int buildNumber = 233;
/** Oldest build of Fred we will talk to */
public static final int lastGoodBuild = 232;