This is an automated email from the ASF dual-hosted git repository.
rmaucher pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new aafec20ce8 Revert "Refactor for consistency"
aafec20ce8 is described below
commit aafec20ce8abd3d86f17c29e5a37f691844a9c7a
Author: remm <[email protected]>
AuthorDate: Tue May 19 22:54:30 2026 +0200
Revert "Refactor for consistency"
This reverts commit 580d80770a50787cc79311bdc4b98e87b16dcb1a.
---
java/org/apache/coyote/http2/Http2AsyncParser.java | 36 +++++++---------------
.../coyote/http2/Http2AsyncUpgradeHandler.java | 2 +-
2 files changed, 12 insertions(+), 26 deletions(-)
diff --git a/java/org/apache/coyote/http2/Http2AsyncParser.java
b/java/org/apache/coyote/http2/Http2AsyncParser.java
index 25d534bf99..2a6a2b47a6 100644
--- a/java/org/apache/coyote/http2/Http2AsyncParser.java
+++ b/java/org/apache/coyote/http2/Http2AsyncParser.java
@@ -24,7 +24,6 @@ import java.util.concurrent.TimeUnit;
import javax.servlet.http.WebConnection;
import org.apache.coyote.ProtocolException;
-import org.apache.tomcat.util.net.AbstractEndpoint;
import org.apache.tomcat.util.net.SocketEvent;
import org.apache.tomcat.util.net.SocketWrapperBase;
import org.apache.tomcat.util.net.SocketWrapperBase.BlockingMode;
@@ -34,15 +33,16 @@ import
org.apache.tomcat.util.net.SocketWrapperBase.CompletionState;
class Http2AsyncParser extends Http2Parser {
- private final AsyncOutput output;
private final SocketWrapperBase<?> socketWrapper;
+ private final Http2AsyncUpgradeHandler upgradeHandler;
private volatile Throwable error = null;
- Http2AsyncParser(String connectionId, Input input, Output output,
SocketWrapperBase<?> socketWrapper) {
+ Http2AsyncParser(String connectionId, Input input, Output output,
SocketWrapperBase<?> socketWrapper,
+ Http2AsyncUpgradeHandler upgradeHandler) {
super(connectionId, input, output);
this.socketWrapper = socketWrapper;
socketWrapper.getSocketBufferHandler().expand(input.getMaxFrameSize());
- this.output = (AsyncOutput) output;
+ this.upgradeHandler = upgradeHandler;
}
@@ -121,12 +121,13 @@ class Http2AsyncParser extends Http2Parser {
socketWrapper.unRead(payload);
}
// Finish processing the connection
- output.processConnectionCallback(webConnection, stream);
+ upgradeHandler.processConnectionCallback(webConnection,
stream);
} else {
- output.closeConnection(new
ConnectionException(error.getMessage(), Http2Error.PROTOCOL_ERROR, error));
+ upgradeHandler
+ .closeConnection(new
ConnectionException(error.getMessage(), Http2Error.PROTOCOL_ERROR, error));
}
// Continue reading frames
- output.upgradeDispatch(SocketEvent.OPEN_READ);
+ upgradeHandler.upgradeDispatch(SocketEvent.OPEN_READ);
}
}
@@ -283,7 +284,7 @@ class Http2AsyncParser extends Http2Parser {
readUnknownFrame(streamId, frameTypeId,
flags, payloadSize, payload);
}
}
- if (!output.isOverheadLimitExceeded()) {
+ if (!upgradeHandler.isOverheadLimitExceeded()) {
// See if there is a new 9 byte header and
continue parsing if possible
if (payload.remaining() >= 9) {
int position = payload.position();
@@ -321,7 +322,7 @@ class Http2AsyncParser extends Http2Parser {
if (state == CompletionState.DONE) {
// The call was not completed inline, so must start reading
new frames
// or process the stream exception
- output.upgradeDispatch(SocketEvent.OPEN_READ);
+ upgradeHandler.upgradeDispatch(SocketEvent.OPEN_READ);
}
}
@@ -333,25 +334,10 @@ class Http2AsyncParser extends Http2Parser {
log.debug(sm.getString("http2Parser.error", connectionId,
Integer.valueOf(streamId), frameType), e);
}
if (state == null || state == CompletionState.DONE) {
- output.upgradeDispatch(SocketEvent.ERROR);
+ upgradeHandler.upgradeDispatch(SocketEvent.ERROR);
}
}
}
- /**
- * Interface that must be implemented to receive notifications from the
parser as it processes incoming frames.
- */
- interface AsyncOutput extends Output {
-
- boolean isOverheadLimitExceeded();
-
- AbstractEndpoint.Handler.SocketState upgradeDispatch(SocketEvent
status);
-
- void closeConnection(Http2Exception ce);
-
- void processConnectionCallback(WebConnection webConnection, Stream
stream);
-
- }
-
}
diff --git a/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
b/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
index 715267167f..ff6a7750c0 100644
--- a/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
@@ -85,7 +85,7 @@ public class Http2AsyncUpgradeHandler extends
Http2UpgradeHandler {
@Override
protected Http2Parser getParser(String connectionId) {
- return new Http2AsyncParser(connectionId, this, this, socketWrapper);
+ return new Http2AsyncParser(connectionId, this, this, socketWrapper,
this);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]