Author: remm
Date: Fri Feb  9 13:01:26 2018
New Revision: 1823650

URL: http://svn.apache.org/viewvc?rev=1823650&view=rev
Log:
Some more cleanups.

Modified:
    tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
    tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java?rev=1823650&r1=1823649&r2=1823650&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java Fri Feb  9 
13:01:26 2018
@@ -79,7 +79,6 @@ class Http2AsyncParser extends Http2Pars
         }
     }
 
-    @Override
     protected void unRead(ByteBuffer buffer) {
         if (buffer != null && buffer.hasRemaining()) {
             socketWrapper.unRead(buffer);
@@ -186,50 +185,51 @@ class Http2AsyncParser extends Http2Pars
         @Override
         public void completed(Long result, Void attachment) {
             if (streamException || error == null) {
-                buffers[1].flip();
+                ByteBuffer payload = buffers[1];
+                payload.flip();
                 try {
                     if (streamException) {
-                        swallow(streamId, payloadSize, false, buffers[1]);
-                        unRead(buffers[1]);
+                        swallow(streamId, payloadSize, false, payload);
                     } else {
                         switch (frameType) {
                         case DATA:
-                            readDataFrame(streamId, flags, payloadSize, 
buffers[1]);
+                            readDataFrame(streamId, flags, payloadSize, 
payload);
                             break;
                         case HEADERS:
-                            readHeadersFrame(streamId, flags, payloadSize, 
buffers[1]);
+                            readHeadersFrame(streamId, flags, payloadSize, 
payload);
                             break;
                         case PRIORITY:
-                            readPriorityFrame(streamId, buffers[1]);
+                            readPriorityFrame(streamId, payload);
                             break;
                         case RST:
-                            readRstFrame(streamId, buffers[1]);
+                            readRstFrame(streamId, payload);
                             break;
                         case SETTINGS:
-                            readSettingsFrame(flags, payloadSize, buffers[1]);
+                            readSettingsFrame(flags, payloadSize, payload);
                             break;
                         case PUSH_PROMISE:
-                            readPushPromiseFrame(streamId, buffers[1]);
+                            readPushPromiseFrame(streamId, payload);
                             break;
                         case PING:
-                            readPingFrame(flags, buffers[1]);
+                            readPingFrame(flags, payload);
                             break;
                         case GOAWAY:
-                            readGoawayFrame(payloadSize, buffers[1]);
+                            readGoawayFrame(payloadSize, payload);
                             break;
                         case WINDOW_UPDATE:
-                            readWindowUpdateFrame(streamId, buffers[1]);
+                            readWindowUpdateFrame(streamId, payload);
                             break;
                         case CONTINUATION:
-                            readContinuationFrame(streamId, flags, 
payloadSize, buffers[1]);
+                            readContinuationFrame(streamId, flags, 
payloadSize, payload);
                             break;
                         case UNKNOWN:
-                            readUnknownFrame(streamId, frameType, flags, 
payloadSize, buffers[1]);
+                            readUnknownFrame(streamId, frameType, flags, 
payloadSize, payload);
                         }
                     }
                 } catch (Exception e) {
                     error = e;
                 }
+                unRead(payload);
             }
             if (state == CompletionState.DONE) {
                 // The call was not completed inline, so must start reading 
new frames

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java?rev=1823650&r1=1823649&r2=1823650&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java Fri Feb  9 
13:01:26 2018
@@ -127,14 +127,6 @@ class Http2Parser {
         return true;
     }
 
-    /**
-     * NO-OP for non-async parser.
-     *
-     * @param buffer Unused.
-     */
-    protected void unRead(ByteBuffer buffer) {
-    }
-
     protected void readDataFrame(int streamId, int flags, int payloadSize, 
ByteBuffer buffer)
             throws Http2Exception, IOException {
         // Process the Stream
@@ -190,7 +182,6 @@ class Http2Parser {
             synchronized (dest) {
                 if (dest.remaining() < dataLength) {
                     swallow(streamId, dataLength, false, buffer);
-                    unRead(buffer);
                     // Client has sent more data than permitted by Window size
                     throw new StreamException("Client sent more data than 
stream window allowed", Http2Error.FLOW_CONTROL_ERROR, streamId);
                 }
@@ -213,7 +204,6 @@ class Http2Parser {
                 output.endRequestBodyFrame(streamId);
             }
         }
-        unRead(buffer);
         if (padLength > 0) {
             output.swallowedPadding(streamId, padLength);
         }
@@ -277,8 +267,6 @@ class Http2Parser {
 
         swallow(streamId, padLength, true, buffer);
 
-        unRead(buffer);
-
         if (Flags.isEndOfHeaders(flags)) {
             onHeadersComplete(streamId);
         } else {
@@ -293,7 +281,6 @@ class Http2Parser {
             input.fill(true, payload);
         } else {
             buffer.get(payload);
-            unRead(buffer);
         }
 
         boolean exclusive = ByteUtil.isBit7Set(payload[0]);
@@ -315,7 +302,6 @@ class Http2Parser {
             input.fill(true, payload);
         } else {
             buffer.get(payload);
-            unRead(buffer);
         }
 
         long errorCode = ByteUtil.getFourBytes(payload, 0);
@@ -347,13 +333,11 @@ class Http2Parser {
                 output.setting(Setting.valueOf(id), value);
             }
         }
-        unRead(buffer);
         output.settingsEnd(ack);
     }
 
 
     protected void readPushPromiseFrame(int streamId, ByteBuffer buffer) 
throws Http2Exception {
-        unRead(buffer);
         throw new 
ConnectionException(sm.getString("http2Parser.processFramePushPromise",
                 connectionId, Integer.valueOf(streamId)), 
Http2Error.PROTOCOL_ERROR);
     }
@@ -366,7 +350,6 @@ class Http2Parser {
             input.fill(true, payload);
         } else {
             buffer.get(payload);
-            unRead(buffer);
         }
         output.pingReceive(payload, Flags.isAck(flags));
     }
@@ -378,7 +361,6 @@ class Http2Parser {
             input.fill(true, payload);
         } else {
             buffer.get(payload);
-            unRead(buffer);
         }
 
         int lastStreamId = ByteUtil.get31Bits(payload, 0);
@@ -397,7 +379,6 @@ class Http2Parser {
             input.fill(true, payload);
         } else {
             buffer.get(payload);
-            unRead(buffer);
         }
         int windowSizeIncrement = ByteUtil.get31Bits(payload, 0);
 
@@ -433,7 +414,6 @@ class Http2Parser {
         }
 
         readHeaderPayload(streamId, payloadSize, buffer);
-        unRead(buffer);
 
         if (Flags.isEndOfHeaders(flags)) {
             headersCurrentStream = -1;
@@ -521,7 +501,6 @@ class Http2Parser {
             // Will never happen because swallow() is called with mustBeZero 
set
             // to false
         }
-        unRead(buffer);
         output.swallowed(streamId, frameType, flags, payloadSize);
     }
 



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

Reply via email to