You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by vi...@apache.org on 2016/10/06 11:49:10 UTC

svn commit: r1763565 - /tomcat/trunk/java/org/apache/coyote/http11/filters/IdentityInputFilter.java

Author: violetagg
Date: Thu Oct  6 11:49:10 2016
New Revision: 1763565

URL: http://svn.apache.org/viewvc?rev=1763565&view=rev
Log:
Use ByteBuffer instead of ByteChunk. This is in a preparation for removing o.a.coyote.InputBuffer.doRead(ByteChunk).

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/filters/IdentityInputFilter.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/IdentityInputFilter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/filters/IdentityInputFilter.java?rev=1763565&r1=1763564&r2=1763565&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/filters/IdentityInputFilter.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/filters/IdentityInputFilter.java Thu Oct  6 11:49:10 2016
@@ -18,6 +18,7 @@
 package org.apache.coyote.http11.filters;
 
 import java.io.IOException;
+import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
 
 import org.apache.coyote.InputBuffer;
@@ -32,7 +33,7 @@ import org.apache.tomcat.util.res.String
  *
  * @author Remy Maucherat
  */
-public class IdentityInputFilter implements InputFilter {
+public class IdentityInputFilter implements InputFilter, ApplicationBufferHandler {
 
     private static final StringManager sm = StringManager.getManager(
             IdentityInputFilter.class.getPackage().getName());
@@ -76,9 +77,9 @@ public class IdentityInputFilter impleme
 
 
     /**
-     * Chunk used to read leftover bytes.
+     * ByteBuffer used to read leftover bytes.
      */
-    protected final ByteChunk endChunk = new ByteChunk();
+    protected ByteBuffer tempRead;
 
 
     private final int maxSwallowSize;
@@ -181,7 +182,8 @@ public class IdentityInputFilter impleme
         // Consume extra bytes.
         while (remaining > 0) {
 
-            int nread = buffer.doRead(endChunk);
+            int nread = buffer.doRead(this);
+            tempRead = null;
             if (nread > 0 ) {
                 swallowed += nread;
                 remaining = remaining - nread;
@@ -227,7 +229,6 @@ public class IdentityInputFilter impleme
     public void recycle() {
         contentLength = -1;
         remaining = 0;
-        endChunk.recycle();
     }
 
 
@@ -247,4 +248,22 @@ public class IdentityInputFilter impleme
         // remaining
         return contentLength > -1 && remaining <= 0;
     }
+
+
+    @Override
+    public void setByteBuffer(ByteBuffer buffer) {
+        tempRead = buffer;
+    }
+
+
+    @Override
+    public ByteBuffer getByteBuffer() {
+        return tempRead;
+    }
+
+
+    @Override
+    public void expand(int size) {
+        // no-op
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org