Author: toad
Date: 2005-12-05 17:35:36 +0000 (Mon, 05 Dec 2005)
New Revision: 7670
Modified:
trunk/freenet/src/freenet/node/InsertHandler.java
trunk/freenet/src/freenet/node/InsertSender.java
trunk/freenet/src/freenet/node/Version.java
Log:
271: (mandatory)
Fix more bugs in new insert code.
Inserts seem to work now.
Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java 2005-12-05 16:43:51 UTC
(rev 7669)
+++ trunk/freenet/src/freenet/node/InsertHandler.java 2005-12-05 17:35:36 UTC
(rev 7670)
@@ -258,9 +258,11 @@
}
}
}
- Message m = DMT.createFNPInsertTransfersCompleted(uid,
sender.anyTransfersFailed());
+ boolean failed = sender.anyTransfersFailed();
+ Message m = DMT.createFNPInsertTransfersCompleted(uid, failed);
try {
source.sendAsync(m, null);
+ Logger.minor(this, "Sent completion: "+failed+" for
"+this);
} catch (NotConnectedException e1) {
Logger.minor(this, "Not connected: "+source+" for
"+this);
// May need to commit anyway...
Modified: trunk/freenet/src/freenet/node/InsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertSender.java 2005-12-05 16:43:51 UTC
(rev 7669)
+++ trunk/freenet/src/freenet/node/InsertSender.java 2005-12-05 17:35:36 UTC
(rev 7670)
@@ -498,12 +498,17 @@
// Now wait for transfers, or for downstream transfer notifications.
synchronized(this) {
- while(!allTransfersCompleted) {
- try {
- wait(10*1000);
- } catch (InterruptedException e) {
- // Try again
- }
+ if(cw != null) {
+ while(!allTransfersCompleted) {
+ try {
+ wait(10*1000);
+ } catch (InterruptedException e) {
+ // Try again
+ }
+ }
+ } else {
+ // There weren't any transfers
+ allTransfersCompleted = true;
}
}
@@ -606,20 +611,23 @@
mf = m;
else
mf = m.or(mf);
+ Logger.minor(this, "Waiting for
"+awc.pn.getPeer());
}
}
if(mf == null) {
if(status != NOT_FINISHED) {
- if(noTimeLeft) {
- // All done!
- Logger.minor(this, "Completed,
status="+getStatusString()+", nothing left to wait for.");
- synchronized(InsertSender.this)
{
- allTransfersCompleted =
true;
-
InsertSender.this.notifyAll();
- }
- return;
+ if(nodesWaitingForCompletion.size() !=
waiters.length) {
+ // Added another one
+ Logger.minor(this, "Looping
(mf==null): waiters="+waiters.length+" but
waiting="+nodesWaitingForCompletion.size());
}
+ // All done!
+ Logger.minor(this, "Completed,
status="+getStatusString()+", nothing left to wait for.");
+ synchronized(InsertSender.this) {
+ allTransfersCompleted = true;
+ InsertSender.this.notifyAll();
+ }
+ return;
}
synchronized(nodesWaitingForCompletion) {
try {
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-12-05 16:43:51 UTC (rev
7669)
+++ trunk/freenet/src/freenet/node/Version.java 2005-12-05 17:35:36 UTC (rev
7670)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 270;
+ public static final int buildNumber = 271;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 270;
+ public static final int lastGoodBuild = 271;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;