I noticed that the attachment somehow disappeared from my posting so here it
is inline:
Index: ScpToMessage.java
===================================================================
RCS file:
/home/cvspublic/ant/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpT
oMessage.java,v
retrieving revision 1.8
diff -B -b -u -r1.8 ScpToMessage.java
--- ScpToMessage.java 9 Feb 2004 21:05:34 -0000 1.8
+++ ScpToMessage.java 5 Apr 2004 13:57:01 -0000
@@ -150,8 +150,9 @@
byte[] buf = new byte[BUFFER_SIZE];
long startTime = System.currentTimeMillis();
int totalLength = 0;
+ int percentTransMitted = 0;
try {
- log("Sending: " + localFile.getName() + " : " +
localFile.length());
+ log("Sending: " + localFile.getName() + " : " +
localFile.length() + " bytes");
while (true) {
int len = fis.read(buf, 0, buf.length);
if (len <= 0) {
@@ -159,6 +160,9 @@
}
out.write(buf, 0, len);
totalLength += len;
+ // only track prgress for files larger than 100kb
+ if (filesize > 102400)
+ percentTransMitted = trackProgress(filesize,
totalLength, percentTransMitted);
}
out.flush();
sendAck(out);
@@ -170,6 +174,25 @@
}
}
+ /*
+ Track progress every 10% if 100kb < filesize < 1mb. For larger
files trck progress for every percent transmitted.
+ */
+ private int trackProgress(int filesize, int totalLength, int
percentTransMitted) {
+
+ int percent = (int) Math.round(Math.floor((totalLength /
(double)filesize) * 100));
+
+ if (percent > percentTransMitted) {
+ if ( filesize < 1048576 && (percent % 10 != 0) ) {
+ // do not track between tenths
+ }
+ else {
+ log("" + percent + "%");
+ }
+ }
+
+ return percent;
+ }
+
public File getLocalFile() {
return localFile;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]