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/12/14 11:07:03 UTC
svn commit: r1774192 - in /tomcat/trunk/java/org/apache: coyote/http11/
coyote/http2/ tomcat/util/net/ tomcat/websocket/server/
Author: markt
Date: Wed Dec 14 11:07:03 2016
New Revision: 1774192
URL: http://svn.apache.org/viewvc?rev=1774192&view=rev
Log:
Reduce references to SocketWrapperBase.getEndpoint()
Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java?rev=1774192&r1=1774191&r2=1774192&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11InputBuffer.java Wed Dec 14 11:07:03 2016
@@ -320,10 +320,12 @@ public class Http11InputBuffer implement
* @throws IOException If an exception occurs during the underlying socket
* read operations, or if the given buffer is not big enough to accommodate
* the whole line.
+ *
* @return true if data is properly fed; false if no data is available
* immediately and thread should be freed
*/
- boolean parseRequestLine(boolean keptAlive) throws IOException {
+ boolean parseRequestLine(boolean keptAlive, int connectionTimeout, int keepAliveTimeout)
+ throws IOException {
// check state
if (!parsingRequestLine) {
@@ -341,7 +343,7 @@ public class Http11InputBuffer implement
if (keptAlive) {
// Haven't read any request data yet so use the keep-alive
// timeout.
- wrapper.setReadTimeout(wrapper.getEndpoint().getKeepAliveTimeout());
+ wrapper.setReadTimeout(keepAliveTimeout);
}
if (!fill(false)) {
// A read is pending, so no longer in initial state
@@ -350,7 +352,7 @@ public class Http11InputBuffer implement
}
// At least one byte of the request has been received.
// Switch to the socket timeout.
- wrapper.setReadTimeout(wrapper.getEndpoint().getConnectionTimeout());
+ wrapper.setReadTimeout(connectionTimeout);
}
if (!keptAlive && byteBuffer.position() == 0 && byteBuffer.limit() >= CLIENT_PREFACE_START.length - 1) {
boolean prefaceMatch = true;
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1774192&r1=1774191&r2=1774192&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Dec 14 11:07:03 2016
@@ -375,7 +375,8 @@ public class Http11Processor extends Abs
// Parsing the request header
try {
- if (!inputBuffer.parseRequestLine(keptAlive)) {
+ if (!inputBuffer.parseRequestLine(keptAlive, protocol.getConnectionTimeout(),
+ protocol.getKeepAliveTimeout())) {
if (inputBuffer.getParsingRequestLinePhase() == -1) {
return SocketState.UPGRADING;
} else if (handleIncompleteRequestLineRead()) {
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=1774192&r1=1774191&r2=1774192&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Wed Dec 14 11:07:03 2016
@@ -276,11 +276,11 @@ class Http2UpgradeHandler extends Abstra
void processStreamOnContainerThread(StreamProcessor streamProcessor, SocketEvent event) {
StreamRunnable streamRunnable = new StreamRunnable(streamProcessor, event);
if (streamConcurrency == null) {
- socketWrapper.getEndpoint().getExecutor().execute(streamRunnable);
+ socketWrapper.getExecutor().execute(streamRunnable);
} else {
if (getStreamConcurrency() < maxConcurrentStreamExecution) {
increaseStreamConcurrency();
- socketWrapper.getEndpoint().getExecutor().execute(streamRunnable);
+ socketWrapper.getExecutor().execute(streamRunnable);
} else {
queuedRunnable.offer(streamRunnable);
}
@@ -449,7 +449,7 @@ class Http2UpgradeHandler extends Abstra
StreamRunnable streamRunnable = queuedRunnable.poll();
if (streamRunnable != null) {
increaseStreamConcurrency();
- socketWrapper.getEndpoint().getExecutor().execute(streamRunnable);
+ socketWrapper.getExecutor().execute(streamRunnable);
}
}
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1774192&r1=1774191&r2=1774192&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Wed Dec 14 11:07:03 2016
@@ -45,8 +45,7 @@ class StreamProcessor extends AbstractPr
StreamProcessor(Http2UpgradeHandler handler, Stream stream, Adapter adapter,
SocketWrapperBase<?> socketWrapper) {
- super(socketWrapper.getEndpoint().getExecutor(), stream.getCoyoteRequest(),
- stream.getCoyoteResponse());
+ super(socketWrapper.getExecutor(), stream.getCoyoteRequest(), stream.getCoyoteResponse());
this.handler = handler;
this.stream = stream;
setAdapter(adapter);
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1774192&r1=1774191&r2=1774192&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Wed Dec 14 11:07:03 2016
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.CompletionHandler;
import java.util.Iterator;
+import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
@@ -106,6 +107,10 @@ public abstract class SocketWrapperBase<
return endpoint;
}
+ public Executor getExecutor() {
+ return endpoint.getExecutor();
+ }
+
public IOException getError() { return error; }
public void setError(IOException error) {
// Not perfectly thread-safe but good enough. Just needs to ensure that
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1774192&r1=1774191&r2=1774192&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Wed Dec 14 11:07:03 2016
@@ -223,7 +223,7 @@ public class WsRemoteEndpointImplServer
if (useDispatch) {
OnResultRunnable r = new OnResultRunnable(sh, t);
AbstractEndpoint<?,?> endpoint = socketWrapper.getEndpoint();
- Executor containerExecutor = endpoint.getExecutor();
+ Executor containerExecutor = socketWrapper.getExecutor();
if (endpoint.isRunning() && containerExecutor != null) {
containerExecutor.execute(r);
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org