Author: nextgens
Date: 2007-09-13 12:20:26 +0000 (Thu, 13 Sep 2007)
New Revision: 15138
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java
trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java
trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java
Log:
Thaw: implement bits of something meant to make the TransfertPlugin more
accurate
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-09-13 11:47:07 UTC
(rev 15137)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-09-13 12:20:26 UTC
(rev 15138)
@@ -30,6 +30,8 @@
private String filename = null; /* Extract from the key */
private int priority = DEFAULT_PRIORITY;
private int persistence = PERSISTENCE_FOREVER;
+ private long startupTime = -1;
+ private long completionTime = -1;
private boolean globalQueue = true;
private String destinationDir = null;
private String finalPath = null;
@@ -559,6 +561,8 @@
running = true;
successful = true;
progress = 99;
+ startupTime =
Long.valueOf(message.getValue("StartupTime")).longValue();
+ completionTime =
Long.valueOf(message.getValue("CompletionTime")).longValue();
status = "Writing to disk";
Logger.info(this, "Receiving file ...");
@@ -1145,4 +1149,14 @@
public int getProtocolErrorCode() {
return protocolErrorCode;
}
+
+
+ public long getCompletionTime() {
+ return completionTime;
+ }
+
+
+ public long getStartupTime() {
+ return startupTime;
+ }
}
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java 2007-09-13 11:47:07 UTC
(rev 15137)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java 2007-09-13 12:20:26 UTC
(rev 15138)
@@ -34,6 +34,8 @@
private String privateKey; /* must finish by '/' (cf SSKKeypair) */
private String publicKey; /* publicKey contains the filename etc */
private int priority = DEFAULT_PRIORITY;
+ private long startupTime = -1;
+ private long completionTime = -1;
private boolean global = true;
private int persistence = PERSISTENCE_FOREVER;
private boolean getCHKOnly = false;
@@ -588,11 +590,13 @@
return;
}
- if("PutSuccessful".equals( msg.getMessageName() )) {
+ if("PutSuccessful".equals(msg.getMessageName())) {
successful = true;
finished = true;
running = false;
-
+
+ startupTime =
Long.valueOf(msg.getValue("StartupTime")).longValue();
+ completionTime =
Long.valueOf(msg.getValue("CompletionTime")).longValue();
publicKey = msg.getValue("URI");
if (publicKey == null) {
@@ -1118,4 +1122,12 @@
public int getPutFailedCode() {
return putFailedCode;
}
+
+ public long getStartupTime() {
+ return startupTime;
+ }
+
+ public long getCompletionTime() {
+ return completionTime;
+ }
}
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java 2007-09-13 11:47:07 UTC
(rev 15137)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java 2007-09-13 12:20:26 UTC
(rev 15138)
@@ -38,6 +38,17 @@
public int getFCPPriority();
/**
+ * When did the request start ?
+ */
+ public long getStartupTime();
+
+ /**
+ * When did the request finish ?
+ * @return -1 if not finished
+ */
+ public long getCompletionTime();
+
+ /**
* call updatePersistentRequest() after to apply the change (Please
note that the change
* will be visible even if you don't call it).
*/
Modified: trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java 2007-09-13
11:47:07 UTC (rev 15137)
+++ trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java 2007-09-13
12:20:26 UTC (rev 15138)
@@ -10,7 +10,6 @@
import thaw.fcp.FCPTransferQuery;
import thaw.fcp.FCPClientPut;
-import thaw.fcp.FCPClientGet;
import thaw.fcp.FreenetURIHelper;
import thaw.plugins.Hsqldb;
@@ -198,8 +197,12 @@
"VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
st.setTimestamp(1, now);
- if (query.isFinished())
- st.setTimestamp(2, now);
+ long tstamp = query.getStartupTime();
+ if(tstamp != -1)
+ st.setTimestamp(1, new
Timestamp(tstamp));
+ tstamp = query.getCompletionTime();
+ if (tstamp != -1)
+ st.setTimestamp(2, new
Timestamp(tstamp));
else
st.setNull(2, Types.TIMESTAMP);