You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/08/11 14:17:32 UTC
svn commit: r1755993 -
/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
Author: markt
Date: Thu Aug 11 14:17:32 2016
New Revision: 1755993
URL: http://svn.apache.org/viewvc?rev=1755993&view=rev
Log:
Reduce duplication.
Ensure current concurrency is correctly tracked.
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1755993&r1=1755992&r2=1755993&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Thu Aug 11 14:17:32 2016
@@ -251,10 +251,23 @@ public class Http2UpgradeHandler extends
}
if (webConnection != null) {
- // Process the initial request on a container thread
- StreamProcessor streamProcessor = new StreamProcessor(this, stream, adapter, socketWrapper);
- streamProcessor.setSslSupport(sslSupport);
+ processStreamOnContainerThread(stream);
+ }
+ }
+
+
+ private void processStreamOnContainerThread(Stream stream) {
+ StreamProcessor streamProcessor = new StreamProcessor(this, stream, adapter, socketWrapper);
+ streamProcessor.setSslSupport(sslSupport);
+ if (streamConcurrency == null) {
socketWrapper.getEndpoint().getExecutor().execute(streamProcessor);
+ } else {
+ if (getStreamConcurrency() < maxConcurrentStreamExecution) {
+ increaseStreamConcurrency();
+ socketWrapper.getEndpoint().getExecutor().execute(streamProcessor);
+ } else {
+ queuedProcessors.offer(streamProcessor);
+ }
}
}
@@ -1026,13 +1039,7 @@ public class Http2UpgradeHandler extends
pushStream.sentPushPromise();
- // Process this stream on a container thread
- StreamProcessor streamProcessor = new StreamProcessor(this, pushStream, adapter, socketWrapper);
- streamProcessor.setSslSupport(sslSupport);
- if (streamConcurrency != null) {
- increaseStreamConcurrency();
- }
- socketWrapper.getEndpoint().getExecutor().execute(streamProcessor);
+ processStreamOnContainerThread(pushStream);
}
@@ -1244,19 +1251,7 @@ public class Http2UpgradeHandler extends
setMaxProcessedStream(streamId);
Stream stream = getStream(streamId, connectionState.get().isNewStreamAllowed());
if (stream != null) {
- // Process this stream on a container thread
- StreamProcessor streamProcessor = new StreamProcessor(this, stream, adapter, socketWrapper);
- streamProcessor.setSslSupport(sslSupport);
- if (streamConcurrency == null) {
- socketWrapper.getEndpoint().getExecutor().execute(streamProcessor);
- } else {
- if (getStreamConcurrency() < maxConcurrentStreamExecution) {
- increaseStreamConcurrency();
- socketWrapper.getEndpoint().getExecutor().execute(streamProcessor);
- } else {
- queuedProcessors.offer(streamProcessor);
- }
- }
+ processStreamOnContainerThread(stream);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org