Update of /cvsroot/freenet/freenet/src/freenet/node/states/FNP
In directory sc8-pr-cvs1:/tmp/cvs-serv29253/src/freenet/node/states/FNP
Modified Files:
NewRequest.java
Log Message:
6234:
* Limit the volume of queryrejects sent to a node due to version being too old.
Includes exponential backoff.
* Dump low priority messages (e.g. most QueryRejected's) if we don't have a free conn
(reinstates pre-PH behaviour - bugfix).
* If a node is not contactable, and no free connections, discard the message.
* Bugfixes in PacketMessage.jobDone relating to losing message sent notifications.
* New diagnostics: messageSendTimeContactable, messageSendTimeNonContactable. Not all
old ones restored yet.
* Make sure we close files in FileEventList
* Add count of total files open by NativeFSDir to interesting objects dump.
* Indenting, logging
Index: NewRequest.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/states/FNP/NewRequest.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- NewRequest.java 4 Oct 2003 23:37:27 -0000 1.32
+++ NewRequest.java 11 Oct 2003 20:00:24 -0000 1.33
@@ -38,7 +38,8 @@
origRec = n.getPeer(mo.getSource());
- n.connections.makePeerHandler(origRec.getIdentity(), mo.getSource());
+ PeerHandler ph =
+ n.connections.makePeerHandler(origRec.getIdentity(), mo.getSource());
long time1 = System.currentTimeMillis();
@@ -60,13 +61,17 @@
n.logger.log(this,
"Rejecting query from host of type "+vers+": "+reason,
Logger.MINOR);
- Message m = new QueryRejected(id, mo.hopsToLive,
- reason, mo.otherFields);
- n.sendMessageAsync(m, origRec, PeerHandler.EXPENDABLE,
- null);
+ if(ph.timeSinceLastMessageSent() > ph.rejectOldVersion(false)) {
+ Message m = new QueryRejected(id, mo.hopsToLive,
+ reason, mo.otherFields);
+ n.sendMessageAsync(m, origRec, PeerHandler.EXPENDABLE,
+ null);
+ } // Slow down old, stupid nodes!
n.loadStats.receivedQuery(false);
- throw new RequestAbortException(null);
- }
+ throw new RequestAbortException(null);
+ } else {
+ ph.rejectOldVersion(true);
+ }
long time3 = System.currentTimeMillis();
logTime(2, time3-time1, shouldLog);
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs