Author: toad
Date: 2006-06-16 16:07:06 +0000 (Fri, 16 Jun 2006)
New Revision: 9231
Modified:
trunk/freenet/src/freenet/node/fcp/ClientGet.java
trunk/freenet/src/freenet/node/fcp/ClientPut.java
trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
trunk/freenet/src/freenet/node/fcp/ClientRequest.java
trunk/freenet/src/freenet/node/fcp/FCPClient.java
trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
Log:
Add OnlyData option to GetRequestStatus.
Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java 2006-06-16 16:01:48 UTC
(rev 9230)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java 2006-06-16 16:07:06 UTC
(rev 9231)
@@ -163,7 +163,7 @@
}
getter = new ClientGetter(this, client.node.chkFetchScheduler,
client.node.sskFetchScheduler, uri, fctx, priorityClass, client, returnBucket);
if(persistenceType != PERSIST_CONNECTION && handler != null)
- sendPendingMessages(handler.outputHandler, true, true);
+ sendPendingMessages(handler.outputHandler, true, true,
false);
}
@@ -345,19 +345,21 @@
client.queueClientRequestMessage(msg,
VERBOSITY_SPLITFILE_PROGRESS);
}
- public void sendPendingMessages(FCPConnectionOutputHandler handler,
boolean includePersistentRequest, boolean includeData) {
+ public void sendPendingMessages(FCPConnectionOutputHandler handler,
boolean includePersistentRequest, boolean includeData, boolean onlyData) {
if(persistenceType == ClientRequest.PERSIST_CONNECTION) {
Logger.error(this, "WTF?
persistenceType="+persistenceType, new Exception("error"));
return;
}
- if(includePersistentRequest) {
- FCPMessage msg = new PersistentGet(identifier, uri,
verbosity, priorityClass, returnType, persistenceType, targetFile, tempFile,
clientToken, client.isGlobalQueue);
- handler.queue(msg);
+ if(!onlyData) {
+ if(includePersistentRequest) {
+ FCPMessage msg = new PersistentGet(identifier,
uri, verbosity, priorityClass, returnType, persistenceType, targetFile,
tempFile, clientToken, client.isGlobalQueue);
+ handler.queue(msg);
+ }
+ if(progressPending != null)
+ handler.queue(progressPending);
+ if(finished)
+ trySendDataFoundOrGetFailed(handler);
}
- if(progressPending != null)
- handler.queue(progressPending);
- if(finished)
- trySendDataFoundOrGetFailed(handler);
if(includeData && allDataPending != null)
handler.queue(allDataPending);
}
Modified: trunk/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPut.java 2006-06-16 16:01:48 UTC
(rev 9230)
+++ trunk/freenet/src/freenet/node/fcp/ClientPut.java 2006-06-16 16:07:06 UTC
(rev 9231)
@@ -72,7 +72,7 @@
ctx, client.node.chkPutScheduler,
client.node.sskPutScheduler, priorityClass,
getCHKOnly, isMetadata, client);
if(persistenceType != PERSIST_CONNECTION && handler != null)
- sendPendingMessages(handler.outputHandler, true, false);
+ sendPendingMessages(handler.outputHandler, true, false,
false);
}
/**
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2006-06-16
16:01:48 UTC (rev 9230)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2006-06-16
16:07:06 UTC (rev 9231)
@@ -183,7 +183,7 @@
client.queueClientRequestMessage(msg, verbosity);
}
- public void sendPendingMessages(FCPConnectionOutputHandler handler,
boolean includePersistentRequest, boolean includeData) {
+ public void sendPendingMessages(FCPConnectionOutputHandler handler,
boolean includePersistentRequest, boolean includeData, boolean onlyData) {
if(persistenceType == PERSIST_CONNECTION) {
Logger.error(this, "WTF?
persistenceType="+persistenceType, new Exception("error"));
return;
Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2006-06-16
16:01:48 UTC (rev 9230)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2006-06-16
16:07:06 UTC (rev 9231)
@@ -105,7 +105,7 @@
public abstract void onLostConnection();
/** Send any pending messages for a persistent request e.g. after
reconnecting */
- public abstract void sendPendingMessages(FCPConnectionOutputHandler
handler, boolean includePersistentRequest, boolean includeData);
+ public abstract void sendPendingMessages(FCPConnectionOutputHandler
handler, boolean includePersistentRequest, boolean includeData, boolean
onlyData);
// Persistence
Modified: trunk/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPClient.java 2006-06-16 16:01:48 UTC
(rev 9230)
+++ trunk/freenet/src/freenet/node/fcp/FCPClient.java 2006-06-16 16:07:06 UTC
(rev 9231)
@@ -112,7 +112,7 @@
reqs = completedUnackedRequests.toArray();
}
for(int i=0;i<reqs.length;i++)
-
((ClientRequest)reqs[i]).sendPendingMessages(outputHandler, true, false);
+
((ClientRequest)reqs[i]).sendPendingMessages(outputHandler, true, false, false);
}
/**
@@ -124,7 +124,7 @@
reqs = runningPersistentRequests.toArray();
}
for(int i=0;i<reqs.length;i++)
-
((ClientRequest)reqs[i]).sendPendingMessages(outputHandler, true, false);
+
((ClientRequest)reqs[i]).sendPendingMessages(outputHandler, true, false, false);
}
public void register(ClientRequest cg) throws
IdentifierCollisionException {
Modified: trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
2006-06-16 16:01:48 UTC (rev 9230)
+++ trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
2006-06-16 16:07:06 UTC (rev 9231)
@@ -8,11 +8,13 @@
final String identifier;
final boolean global;
+ final boolean onlyData;
final static String name = "GetRequestStatus";
public GetRequestStatusMessage(SimpleFieldSet fs) {
this.identifier = fs.get("Identifier");
this.global = Fields.stringToBool(fs.get("Global"), false);
+ this.onlyData = Fields.stringToBool(fs.get("OnlyData"), false);
}
public SimpleFieldSet getFieldSet() {
@@ -37,7 +39,7 @@
ProtocolErrorMessage msg = new
ProtocolErrorMessage(ProtocolErrorMessage.NO_SUCH_IDENTIFIER, false, null,
identifier);
handler.outputHandler.queue(msg);
} else {
- req.sendPendingMessages(handler.outputHandler, true,
true);
+ req.sendPendingMessages(handler.outputHandler, true,
true, onlyData);
}
}