Author: toad
Date: 2008-06-26 23:14:26 +0000 (Thu, 26 Jun 2008)
New Revision: 20800

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
   
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
Log:
Logging

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-06-26 23:03:41 UTC (rev 20799)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-06-26 23:14:26 UTC (rev 20800)
@@ -787,4 +787,13 @@
                        container.activate(this, 1);
                this.fail(new FetchException(FetchException.INTERNAL_ERROR, 
"FEC failure: "+t, t), container, context);
        }
+
+       public boolean haveBlock(int blockNo) {
+               if(blockNo < dataBuckets.length)
+                       return dataBuckets[blockNo] != null && 
dataBuckets[blockNo].hasData();
+               else {
+                       blockNo -= dataBuckets.length;
+                       return checkBuckets[blockNo] != null && 
checkBuckets[blockNo].hasData();
+               }
+       }
 }

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-06-26 23:03:41 UTC (rev 20799)
+++ 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-06-26 23:14:26 UTC (rev 20800)
@@ -142,7 +142,10 @@
                                Key key = 
segment.getBlockNodeKey(((Integer)ret).intValue(), container);
                                if(key == null) {
                                        if(segment.isFinishing(container) || 
segment.isFinished(container)) return null;
-                                       Logger.error(this, "Key is null for 
block "+ret+" for "+this);
+                                       
if(segment.haveBlock(((Integer)ret).intValue()))
+                                               Logger.error(this, "Already 
have block "+ret+" but was in blockNums on "+this);
+                                       else
+                                               Logger.error(this, "Key is null 
for block "+ret+" for "+this);
                                        continue;
                                }
                                if(keys.hasKey(key)) {


Reply via email to