You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@apache.org on 2001/01/22 05:49:26 UTC
cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/lib RequestOutputStream.java
remm 01/01/21 20:49:26
Modified: src/webdav/client/src/org/apache/webdav/lib
RequestOutputStream.java
Log:
- Optimized the output stream when chunking a little bit. The code should
also be cleaner.
Revision Changes Path
1.2 +40 -17 jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/RequestOutputStream.java
Index: RequestOutputStream.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/RequestOutputStream.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RequestOutputStream.java 2000/11/22 06:19:08 1.1
+++ RequestOutputStream.java 2001/01/22 04:49:26 1.2
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/RequestOutputStream.java,v 1.1 2000/11/22 06:19:08 remm Exp $
- * $Revision: 1.1 $
- * $Date: 2000/11/22 06:19:08 $
+ * $Header: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/RequestOutputStream.java,v 1.2 2001/01/22 04:49:26 remm Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/01/22 04:49:26 $
*
* ====================================================================
*
@@ -74,7 +74,7 @@
* Socket output stream wrapper.
*
* @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
- * @version $Revision: 1.1 $ $Date: 2000/11/22 06:19:08 $
+ * @version $Revision: 1.2 $ $Date: 2001/01/22 04:49:26 $
*/
public class RequestOutputStream
@@ -125,6 +125,30 @@
private boolean writingChunk = false;
+ /**
+ * End chunk.
+ */
+ private byte endChunk[] = "\r\n".getBytes();
+
+
+ /**
+ * CRLF.
+ */
+ private byte crlf[] = "\r\n".getBytes();
+
+
+ /**
+ * 0.
+ */
+ private byte zero[] = "0".getBytes();
+
+
+ /**
+ * 1.
+ */
+ private byte one[] = "1".getBytes();
+
+
// ------------------------------------------------------------- Properties
@@ -202,12 +226,11 @@
*/
public void write(int b)
throws IOException {
- if (useChunking && !writingChunk) {
- writingChunk = true;
- print("1\r\n");
+ if (useChunking) {
+ stream.write(one, 0, one.length);
+ stream.write(crlf, 0, crlf.length);
stream.write(b);
- println();
- writingChunk = false;
+ stream.write(endChunk, 0, endChunk.length);
} else {
stream.write(b);
}
@@ -219,12 +242,12 @@
*/
public void write(byte[] b, int off, int len)
throws IOException {
- if (useChunking && !writingChunk) {
- writingChunk = true;
- print(Integer.toHexString(len) + "\r\n");
+ if (useChunking) {
+ byte chunkHeader[] =
+ (Integer.toHexString(len) + "\r\n").getBytes();
+ stream.write(chunkHeader, 0, chunkHeader.length);
stream.write(b, off, len);
- println();
- writingChunk = false;
+ stream.write(endChunk, 0, endChunk.length);
} else {
stream.write(b, off, len);
}
@@ -239,9 +262,9 @@
if (useChunking) {
// Write the final chunk.
- writingChunk = true;
- print("0\r\n\r\n");
- writingChunk = false;
+ stream.write(zero, 0, zero.length);
+ stream.write(crlf, 0, crlf.length);
+ stream.write(endChunk, 0, endChunk.length);
}
super.close();