Update of /cvsroot/freenet/freenet/src/freenet/fs/dir
In directory sc8-pr-cvs1:/tmp/cvs-serv17090/src/freenet/fs/dir
Modified Files:
Buffer.java CircularBuffer.java FSDirectory.java
NativeFSDirectory.java NullBuffer.java
Log Message:
6162: accurate send queue length. Hopefully.
Index: Buffer.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/fs/dir/Buffer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- Buffer.java 12 Sep 2002 16:05:52 -0000 1.2
+++ Buffer.java 21 Oct 2003 01:52:35 -0000 1.3
@@ -10,6 +10,11 @@
long length();
+ /**
+ * Current length of buffer - number of bytes IN CACHE
+ */
+ long realLength();
+
boolean failed();
InputStream getInputStream() throws IOException;
Index: CircularBuffer.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/fs/dir/CircularBuffer.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -w -r1.18 -r1.19
--- CircularBuffer.java 3 Jul 2003 03:33:43 -0000 1.18
+++ CircularBuffer.java 21 Oct 2003 01:52:35 -0000 1.19
@@ -24,6 +24,8 @@
protected DoublyLinkedList readers = new DoublyLinkedListImpl();
+ CircularOutputStream cos = null;
+
/**
* @param lapbuf buffer to do laps over
* @param vlength virtual length -- total length of tunneled data
@@ -199,7 +201,7 @@
*/
public OutputStream getOutputStream() throws IOException,
BufferException {
- return new CircularOutputStream();
+ return cos = new CircularOutputStream();
}
boolean outAtStart = false;
@@ -327,6 +329,11 @@
protected void finalize() throws Throwable {
kick();
}
+ }
+
+ public long realLength() {
+ if(cos == null) return vlength;
+ return (lap+1) * lapbuf.length() - cos.wlim;
}
}
Index: FSDirectory.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/fs/dir/FSDirectory.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -w -r1.11 -r1.12
--- FSDirectory.java 16 Jun 2003 19:38:38 -0000 1.11
+++ FSDirectory.java 21 Oct 2003 01:52:36 -0000 1.12
@@ -517,6 +517,10 @@
return length;
}
+ public final long realLength() {
+ throw new UnsupportedOperationException();
+ }
+
public final boolean failed() {
return failed;
}
Index: NativeFSDirectory.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/fs/dir/NativeFSDirectory.java,v
retrieving revision 1.164
retrieving revision 1.165
diff -u -w -r1.164 -r1.165
--- NativeFSDirectory.java 17 Oct 2003 01:43:28 -0000 1.164
+++ NativeFSDirectory.java 21 Oct 2003 01:52:36 -0000 1.165
@@ -1518,6 +1518,10 @@
return (buffer==null) ? -1 : buffer.length();
}
+ public long realLength() {
+ return (buffer==null) ? 0 : buffer.realLength();
+ }
+
public boolean failed() {
return (buffer==null) ? false : buffer.failed();
}
@@ -1979,6 +1983,13 @@
*/
public long length() { return size; }
+ /**
+ * Current length of file - the number of bytes we actually have cached
+ */
+ public long realLength() {
+ return getFile().length();
+ }
+
public boolean failed() { return status == FAILED; }
/**
Index: NullBuffer.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/fs/dir/NullBuffer.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -w -r1.1.1.1 -r1.2
--- NullBuffer.java 13 Jan 2002 05:24:36 -0000 1.1.1.1
+++ NullBuffer.java 21 Oct 2003 01:52:36 -0000 1.2
@@ -19,6 +19,10 @@
return 0;
}
+ public final long realLength() {
+ return 0;
+ }
+
public final boolean failed() {
return false;
}
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs