Author: toad
Date: 2008-06-24 12:53:47 +0000 (Tue, 24 Jun 2008)
New Revision: 20634
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
Log:
Add some activation in SplitFileInserter.
It may not necessarily be activated until it is needed, i.e. when the SFIS
completes a segment.
Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
2008-06-24 11:50:27 UTC (rev 20633)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
2008-06-24 12:53:47 UTC (rev 20634)
@@ -241,6 +241,7 @@
}
public void encodedSegment(SplitFileInserterSegment segment,
ObjectContainer container, ClientContext context) {
+ container.activate(this, 1);
if(logMINOR) Logger.minor(this, "Encoded segment
"+segment.segNo+" of "+this);
boolean ret = false;
boolean encode;
@@ -261,6 +262,7 @@
}
public void segmentHasURIs(SplitFileInserterSegment segment,
ObjectContainer container, ClientContext context) {
+ container.activate(this, 1);
if(logMINOR) Logger.minor(this, "Segment has URIs: "+segment);
synchronized(this) {
if(haveSentMetadata) {
@@ -280,6 +282,7 @@
}
private void encodeMetadata(ObjectContainer container, ClientContext
context) {
+ container.activate(this, 1);
boolean missingURIs;
Metadata m = null;
synchronized(this) {
@@ -362,6 +365,7 @@
}
public void segmentFinished(SplitFileInserterSegment segment,
ObjectContainer container, ClientContext context) {
+ container.activate(this, 1);
if(logMINOR) Logger.minor(this, "Segment finished: "+segment,
new Exception("debug"));
boolean allGone = true;
if(countDataBlocks > 32)
@@ -391,6 +395,7 @@
}
public void segmentFetchable(SplitFileInserterSegment segment,
ObjectContainer container) {
+ container.activate(this, 1);
if(logMINOR) Logger.minor(this, "Segment fetchable: "+segment);
synchronized(this) {
if(finished) return;
@@ -407,12 +412,14 @@
}
private void onAllFinished(ObjectContainer container, ClientContext
context) {
+ container.activate(this, 1);
if(logMINOR) Logger.minor(this, "All finished");
try {
// Finished !!
FailureCodeTracker tracker = new
FailureCodeTracker(true);
boolean allSucceeded = true;
for(int i=0;i<segments.length;i++) {
+ container.activate(segments[i], 1);
InsertException e = segments[i].getException();
if(e == null) continue;
if(logMINOR) Logger.minor(this, "Failure on
segment "+i+" : "+segments[i]+" : "+e, e);
@@ -434,6 +441,7 @@
}
public void cancel(ObjectContainer container, ClientContext context) {
+ container.activate(this, 1);
synchronized(this) {
if(finished) return;
finished = true;
@@ -456,11 +464,13 @@
/** Force the remaining blocks which haven't been encoded so far to be
encoded ASAP. */
public void forceEncode(ObjectContainer container, ClientContext
context) {
+ container.activate(this, 1);
Logger.minor(this, "Forcing encode on "+this);
synchronized(this) {
forceEncode = true;
}
for(int i=0;i<segments.length;i++) {
+ container.activate(segments[i], 1);
segments[i].forceEncode(container, context);
}
}