Author: toad
Date: 2009-01-12 23:27:08 +0000 (Mon, 12 Jan 2009)
New Revision: 25044
Modified:
trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
trunk/freenet/src/freenet/node/CHKInsertHandler.java
trunk/freenet/src/freenet/node/RequestSender.java
Log:
Don't report transfer taking too long if it wasn't going to be reported to
transfer backoff.
Modified: trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockReceiver.java 2009-01-12
23:16:02 UTC (rev 25043)
+++ trunk/freenet/src/freenet/io/xfer/BlockReceiver.java 2009-01-12
23:27:08 UTC (rev 25044)
@@ -68,16 +68,18 @@
private MessageFilter discardFilter;
private long discardEndTime;
private boolean tookTooLong;
+ private final boolean _doTooLong;
boolean logMINOR=Logger.shouldLog(Logger.MINOR, this);
- public BlockReceiver(MessageCore usm, PeerContext sender, long uid,
PartiallyReceivedBlock prb, ByteCounter ctr, Ticker ticker) {
+ public BlockReceiver(MessageCore usm, PeerContext sender, long uid,
PartiallyReceivedBlock prb, ByteCounter ctr, Ticker ticker, boolean doTooLong) {
_sender = sender;
_prb = prb;
_uid = uid;
_usm = usm;
_ctr = ctr;
_ticker = ticker;
+ _doTooLong = doTooLong;
}
public void sendAborted(int reason, String desc) throws
NotConnectedException {
@@ -87,6 +89,7 @@
public byte[] receive() throws RetrievalException {
long startTime = System.currentTimeMillis();
+ if(_doTooLong) {
_ticker.queueTimedJob(new Runnable() {
public void run() {
@@ -103,6 +106,7 @@
}
}, TOO_LONG_TIMEOUT);
+ }
int consecutiveMissingPacketReports = 0;
try {
MessageFilter mfPacketTransmit =
MessageFilter.create().setTimeout(RECEIPT_TIMEOUT).setType(DMT.packetTransmit).setField(DMT.UID,
_uid).setSource(_sender);
Modified: trunk/freenet/src/freenet/node/CHKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertHandler.java 2009-01-12
23:16:02 UTC (rev 25043)
+++ trunk/freenet/src/freenet/node/CHKInsertHandler.java 2009-01-12
23:27:08 UTC (rev 25044)
@@ -121,7 +121,7 @@
Message m = DMT.createFNPInsertTransfersCompleted(uid,
true);
source.sendAsync(m, null, this);
prb = new PartiallyReceivedBlock(Node.PACKETS_IN_BLOCK,
Node.PACKET_SIZE);
- br = new BlockReceiver(node.usm, source, uid, prb,
this, node.getTicker());
+ br = new BlockReceiver(node.usm, source, uid, prb,
this, node.getTicker(), false);
prb.abort(RetrievalException.NO_DATAINSERT, "No
DataInsert");
br.sendAborted(RetrievalException.NO_DATAINSERT, "No
DataInsert");
return;
@@ -143,7 +143,7 @@
prb = new PartiallyReceivedBlock(Node.PACKETS_IN_BLOCK,
Node.PACKET_SIZE);
if(htl > 0)
sender = node.makeInsertSender(key, htl, uid, source, headers,
prb, false, true);
- br = new BlockReceiver(node.usm, source, uid, prb, this,
node.getTicker());
+ br = new BlockReceiver(node.usm, source, uid, prb, this,
node.getTicker(), false);
// Receive the data, off thread
Runnable dataReceiver = new DataReceiver();
Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java 2009-01-12 23:16:02 UTC
(rev 25043)
+++ trunk/freenet/src/freenet/node/RequestSender.java 2009-01-12 23:27:08 UTC
(rev 25044)
@@ -266,7 +266,7 @@
}
fireCHKTransferBegins();
- BlockReceiver br = new BlockReceiver(node.usm,
pn, uid, prb, this, node.getTicker());
+ BlockReceiver br = new BlockReceiver(node.usm,
pn, uid, prb, this, node.getTicker(), true);
try {
if(logMINOR) Logger.minor(this,
"Receiving data");
@@ -771,7 +771,7 @@
fireCHKTransferBegins();
long tStart = System.currentTimeMillis();
- BlockReceiver br = new BlockReceiver(node.usm,
next, uid, prb, this, node.getTicker());
+ BlockReceiver br = new BlockReceiver(node.usm,
next, uid, prb, this, node.getTicker(), true);
try {
if(logMINOR) Logger.minor(this,
"Receiving data");
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs