Author: toad
Date: 2008-08-28 23:38:39 +0000 (Thu, 28 Aug 2008)
New Revision: 22210
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
Log:
More NPEs - null client requester is legal if transient
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
2008-08-28 23:31:59 UTC (rev 22209)
+++
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
2008-08-28 23:38:39 UTC (rev 22210)
@@ -93,7 +93,8 @@
}
protected void addToRequestsByClientRequest(ClientRequester
clientRequest, SendableRequest req, ObjectContainer container) {
- clientRequest.addToRequests(req, container);
+ if(clientRequest != null || persistent()) // Client request
null is only legal for transient requests
+ clientRequest.addToRequests(req, container);
}
synchronized void addToGrabArray(short priorityClass, int retryCount,
int rc, RequestClient client, ClientRequester cr, SendableRequest req,
RandomSource random, ObjectContainer container) {
@@ -144,11 +145,14 @@
}
protected SendableRequest[] getSendableRequests(ClientRequester
request, ObjectContainer container) {
- return request.getSendableRequests(container);
+ if(request != null || persistent()) // Client request null is
only legal for transient requests
+ return request.getSendableRequests(container);
+ else return null;
}
void removeFromAllRequestsByClientRequest(SendableRequest req,
ClientRequester cr, boolean dontComplain, ObjectContainer container) {
- cr.removeFromRequests(req, container, dontComplain);
+ if(cr != null || persistent()) // Client request null is only
legal for transient requests
+ cr.removeFromRequests(req, container, dontComplain);
}
public void reregisterAll(ClientRequester request, RandomSource random,
RequestScheduler lock, ObjectContainer container, ClientContext context) {