Author: toad
Date: 2008-07-29 00:17:06 +0000 (Tue, 29 Jul 2008)
New Revision: 21462
Modified:
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
branches/db4o/freenet/src/freenet/node/SendableRequest.java
branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
Log:
Pass ClientContext in to unregister().
Modified:
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
2008-07-28 23:51:47 UTC (rev 21461)
+++ branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -145,7 +145,7 @@
*/
public void unregisterAll(ObjectContainer container, ClientContext
context) {
getScheduler(context).removePendingKey(this, false,
key.getNodeKey(), container);
- super.unregister(container);
+ super.unregister(container, context);
}
public synchronized boolean isCancelled(ObjectContainer container) {
@@ -190,7 +190,7 @@
return;
}
}
- unregister(container); // Key has already been removed from
pendingKeys
+ unregister(container, context); // Key has already been removed
from pendingKeys
try {
onSuccess(Key.createKeyBlock(this.key, block), false,
null, container, context);
} catch (KeyVerifyException e) {
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-07-28 23:51:47 UTC (rev 21461)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -747,8 +747,8 @@
}
public void reregisterAll(final ClientRequester request,
ObjectContainer container) {
- schedTransient.reregisterAll(request, random, this, null);
- schedCore.reregisterAll(request, random, this, container);
+ schedTransient.reregisterAll(request, random, this, null,
clientContext);
+ schedCore.reregisterAll(request, random, this, container,
clientContext);
starter.wakeUp();
}
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
2008-07-28 23:51:47 UTC (rev 21461)
+++
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -134,7 +134,7 @@
return Math.max(0, retryCount-MIN_RETRY_COUNT);
}
- public void reregisterAll(ClientRequester request, RandomSource random,
ClientRequestScheduler lock, ObjectContainer container) {
+ public void reregisterAll(ClientRequester request, RandomSource random,
ClientRequestScheduler lock, ObjectContainer container, ClientContext context) {
SendableRequest[] reqs;
synchronized(lock) {
Set h = (Set) allRequestsByClientRequest.get(request);
@@ -145,7 +145,7 @@
for(int i=0;i<reqs.length;i++) {
SendableRequest req = reqs[i];
// Unregister from the RGA's, but keep the pendingKeys
and cooldown queue data.
- req.unregister(container);
+ req.unregister(container, context);
// Then can do innerRegister() (not register()).
innerRegister(req, random, container);
}
Modified:
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
2008-07-28 23:51:47 UTC (rev 21461)
+++ branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -335,7 +335,7 @@
container.set(this);
container.activate(cb, 1);
}
- super.unregister(container);
+ super.unregister(container, context);
cb.onFailure(new InsertException(InsertException.CANCELLED),
this, container, context);
}
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2008-07-28 23:51:47 UTC (rev 21461)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -257,7 +257,7 @@
parent.completedBlock(dontNotify, container, context);
if(decodeNow) {
context.getChkFetchScheduler().removePendingKeys(this,
true);
- removeSubSegments(container);
+ removeSubSegments(container, context);
decode(container, context);
}
if(persistent) {
@@ -551,7 +551,7 @@
if(allFailed)
fail(new FetchException(FetchException.SPLITFILE_ERROR,
errors), container, context, false);
else if(seg != null)
- seg.possiblyRemoveFromParent(container);
+ seg.possiblyRemoveFromParent(container, context);
}
/** A request has failed non-fatally, so the block may be retried
@@ -709,7 +709,7 @@
}
}
context.getChkFetchScheduler().removePendingKeys(this, true);
- removeSubSegments(container);
+ removeSubSegments(container, context);
if(persistent) {
container.set(this);
container.activate(parentFetcher, 1);
@@ -816,7 +816,7 @@
return true;
}
- private void removeSubSegments(ObjectContainer container) {
+ private void removeSubSegments(ObjectContainer container, ClientContext
context) {
if(persistent)
container.activate(subSegments, 1);
SplitFileFetcherSubSegment[] deadSegs;
@@ -829,7 +829,7 @@
for(int i=0;i<deadSegs.length;i++) {
if(persistent)
container.activate(deadSegs[i], 1);
- deadSegs[i].kill(container, true);
+ deadSegs[i].kill(container, context, true);
}
if(persistent) {
container.set(this);
@@ -1096,7 +1096,7 @@
container.activate(seg, 1);
if(seg != null) {
seg.removeBlockNum(blockNum, container);
- seg.possiblyRemoveFromParent(container);
+ seg.possiblyRemoveFromParent(container, context);
}
for(int i=0;i<subSegments.size();i++) {
SplitFileFetcherSubSegment checkSeg =
(SplitFileFetcherSubSegment) subSegments.get(i);
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
2008-07-28 23:51:47 UTC (rev 21461)
+++
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -583,7 +583,7 @@
return
super.toString()+":"+retryCount+"/"+segment+'('+(blockNums == null ? "null" :
String.valueOf(blockNums.size()))+')';
}
- public void possiblyRemoveFromParent(ObjectContainer container) {
+ public void possiblyRemoveFromParent(ObjectContainer container,
ClientContext context) {
if(persistent) {
container.activate(this, 1);
container.activate(segment, 1);
@@ -597,7 +597,7 @@
Logger.minor(this, "Definitely removing from
parent: "+this);
if(!segment.maybeRemoveSeg(this, container)) return;
}
- unregister(container);
+ unregister(container, context);
}
public void onGotKey(Key key, KeyBlock block, ObjectContainer
container, ClientContext context) {
@@ -650,7 +650,7 @@
* Terminate a subsegment. Called by the segment, which will have
already removed the
* subsegment from the list.
*/
- public void kill(ObjectContainer container, boolean dontDeactivateSeg) {
+ public void kill(ObjectContainer container, ClientContext context,
boolean dontDeactivateSeg) {
if(persistent) {
container.activate(this, 1);
container.activate(segment, 1);
@@ -659,7 +659,7 @@
if(logMINOR)
Logger.minor(this, "Killing "+this);
// Do unregister() first so can get and unregister each key and
avoid a memory leak
- unregister(container);
+ unregister(container, context);
synchronized(segment) {
blockNums.clear();
cancelled = true;
Modified: branches/db4o/freenet/src/freenet/node/SendableRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendableRequest.java 2008-07-28
23:51:47 UTC (rev 21461)
+++ branches/db4o/freenet/src/freenet/node/SendableRequest.java 2008-07-29
00:17:06 UTC (rev 21462)
@@ -96,7 +96,7 @@
container.set(this);
}
- public void unregister(ObjectContainer container) {
+ public void unregister(ObjectContainer container, ClientContext
context) {
RandomGrabArray arr = getParentGrabArray();
if(arr != null) {
if(persistent)
Modified: branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
2008-07-28 23:51:47 UTC (rev 21461)
+++ branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
2008-07-29 00:17:06 UTC (rev 21462)
@@ -120,7 +120,7 @@
if(finished) return;
finished = true;
}
- super.unregister(container);
+ super.unregister(container, context);
}
public boolean shouldCache() {