Author: robert
Date: 2008-01-23 19:37:39 +0000 (Wed, 23 Jan 2008)
New Revision: 17216
Modified:
trunk/freenet/src/freenet/node/CHKInsertSender.java
Log:
revert r16727: it only breaks chk pipelining
Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-23 18:56:33 UTC
(rev 17215)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-23 19:37:39 UTC
(rev 17216)
@@ -425,8 +425,8 @@
}
if(logMINOR) Logger.minor(this, "Sending data");
- if(receiveFailed) return;
-
+ startBackgroundTransfer(next, prb);
+
while (true) {
if (receiveFailed)
@@ -477,11 +477,11 @@
}
// Finished as far as this node is
concerned
next.successNotOverload();
- //RNF means that the HTL was not
exhausted, but that the data should still be sent.
- startBackgroundTransfer(next, prb);
+ //RNF means that the HTL was not
exhausted, but that the data will still be stored.
break;
}
+ //Can occur after reception of the entire chk
block
if (msg.getSpec() == DMT.FNPDataInsertRejected)
{
next.successNotOverload();
short reason = msg
@@ -544,7 +544,6 @@
// Our task is complete, one node
(quite deep), has accepted the insert.
next.successNotOverload();
// The request will not be routed to
any other nodes, this is where the data *should* be.
- startBackgroundTransfer(next, prb);
finish(SUCCESS, next);
return;
}