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 2015/06/10 10:13:31 UTC
svn commit: r1684599 - in /tomcat/trunk: java/org/apache/coyote/http2/
test/org/apache/coyote/http2/
Author: markt
Date: Wed Jun 10 08:13:30 2015
New Revision: 1684599
URL: http://svn.apache.org/r1684599
Log:
Rename to make clear these are exceptions not errors
Added:
tomcat/trunk/java/org/apache/coyote/http2/ConnectionException.java
- copied, changed from r1684595, tomcat/trunk/java/org/apache/coyote/http2/ConnectionError.java
tomcat/trunk/java/org/apache/coyote/http2/StreamException.java
- copied, changed from r1684595, tomcat/trunk/java/org/apache/coyote/http2/StreamError.java
Removed:
tomcat/trunk/java/org/apache/coyote/http2/ConnectionError.java
tomcat/trunk/java/org/apache/coyote/http2/StreamError.java
Modified:
tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettings.java
tomcat/trunk/java/org/apache/coyote/http2/FrameType.java
tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/StreamStateMachine.java
tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
Copied: tomcat/trunk/java/org/apache/coyote/http2/ConnectionException.java (from r1684595, tomcat/trunk/java/org/apache/coyote/http2/ConnectionError.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/ConnectionException.java?p2=tomcat/trunk/java/org/apache/coyote/http2/ConnectionException.java&p1=tomcat/trunk/java/org/apache/coyote/http2/ConnectionError.java&r1=1684595&r2=1684599&rev=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/ConnectionError.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/ConnectionException.java Wed Jun 10 08:13:30 2015
@@ -16,11 +16,14 @@
*/
package org.apache.coyote.http2;
-public class ConnectionError extends Http2Exception {
+/**
+ * Thrown when an HTTP/2 connection error occurs.
+ */
+public class ConnectionException extends Http2Exception {
private static final long serialVersionUID = 1L;
- public ConnectionError(String msg, Http2Error error) {
+ public ConnectionException(String msg, Http2Error error) {
super(msg, error);
}
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettings.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettings.java?rev=1684599&r1=1684598&r2=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettings.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/ConnectionSettings.java Wed Jun 10 08:13:30 2015
@@ -42,7 +42,7 @@ public class ConnectionSettings {
private volatile int maxFrameSize = DEFAULT_MAX_FRAME_SIZE;
private volatile long maxHeaderListSize = UNLIMITED;
- public void set(int parameterId, long value) throws ConnectionError {
+ public void set(int parameterId, long value) throws ConnectionException {
if (log.isDebugEnabled()) {
log.debug(sm.getString("connectionSettings.debug",
Integer.toString(parameterId), Long.toString(value)));
@@ -78,10 +78,10 @@ public class ConnectionSettings {
public int getHeaderTableSize() {
return headerTableSize;
}
- public void setHeaderTableSize(long headerTableSize) throws ConnectionError {
+ public void setHeaderTableSize(long headerTableSize) throws ConnectionException {
// Need to put a sensible limit on this. Start with 16k (default is 4k)
if (headerTableSize > (16 * 1024)) {
- throw new ConnectionError(sm.getString("connectionSettings.headerTableSizeLimit",
+ throw new ConnectionException(sm.getString("connectionSettings.headerTableSizeLimit",
Long.toString(headerTableSize)), Http2Error.PROTOCOL_ERROR);
}
this.headerTableSize = (int) headerTableSize;
@@ -91,11 +91,11 @@ public class ConnectionSettings {
public boolean getEnablePush() {
return enablePush;
}
- public void setEnablePush(long enablePush) throws ConnectionError {
+ public void setEnablePush(long enablePush) throws ConnectionException {
// Can't be less than zero since the result of the byte->long conversion
// will never be negative
if (enablePush > 1) {
- throw new ConnectionError(sm.getString("connectionSettings.enablePushInvalid",
+ throw new ConnectionException(sm.getString("connectionSettings.enablePushInvalid",
Long.toString(enablePush)), Http2Error.PROTOCOL_ERROR);
}
this.enablePush = (enablePush == 1);
@@ -113,9 +113,9 @@ public class ConnectionSettings {
public int getInitialWindowSize() {
return initialWindowSize;
}
- public void setInitialWindowSize(long initialWindowSize) throws ConnectionError {
+ public void setInitialWindowSize(long initialWindowSize) throws ConnectionException {
if (initialWindowSize > MAX_WINDOW_SIZE) {
- throw new ConnectionError(sm.getString("connectionSettings.windowSizeTooBig",
+ throw new ConnectionException(sm.getString("connectionSettings.windowSizeTooBig",
Long.toString(initialWindowSize), Long.toString(MAX_WINDOW_SIZE)),
Http2Error.PROTOCOL_ERROR);
}
@@ -126,9 +126,9 @@ public class ConnectionSettings {
public int getMaxFrameSize() {
return maxFrameSize;
}
- public void setMaxFrameSize(long maxFrameSize) throws ConnectionError {
+ public void setMaxFrameSize(long maxFrameSize) throws ConnectionException {
if (maxFrameSize < MIN_MAX_FRAME_SIZE || maxFrameSize > MAX_MAX_FRAME_SIZE) {
- throw new ConnectionError(sm.getString("connectionSettings.maxFrameSizeInvalid",
+ throw new ConnectionException(sm.getString("connectionSettings.maxFrameSizeInvalid",
Long.toString(maxFrameSize), Integer.toString(MIN_MAX_FRAME_SIZE),
Integer.toString(MAX_MAX_FRAME_SIZE)), Http2Error.PROTOCOL_ERROR);
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/FrameType.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/FrameType.java?rev=1684599&r1=1684598&r2=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/FrameType.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/FrameType.java Wed Jun 10 08:13:30 2015
@@ -61,18 +61,18 @@ public enum FrameType {
public void check(int streamId, int payloadSize) throws Http2Exception {
// Is FrameType valid for the given stream?
if (streamId == 0 && !streamZero || streamId != 0 && !streamNonZero) {
- throw new ConnectionError(sm.getString("frameType.checkStream", this),
+ throw new ConnectionException(sm.getString("frameType.checkStream", this),
Http2Error.PROTOCOL_ERROR);
}
// Is the payload size valid for the given FrameType
if (payloadSizeValidator != null && !payloadSizeValidator.test(payloadSize)) {
if (payloadErrorFatal || streamId == 0) {
- throw new ConnectionError(sm.getString("frameType.checkPayloadSize",
+ throw new ConnectionException(sm.getString("frameType.checkPayloadSize",
Integer.toString(payloadSize), this),
Http2Error.FRAME_SIZE_ERROR);
} else {
- throw new StreamError(sm.getString("frameType.checkPayloadSize",
+ throw new StreamException(sm.getString("frameType.checkPayloadSize",
Integer.toString(payloadSize), this),
Http2Error.FRAME_SIZE_ERROR, streamId);
}
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=1684599&r1=1684598&r2=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java Wed Jun 10 08:13:30 2015
@@ -85,7 +85,7 @@ class Http2Parser {
try {
validateFrame(expected, frameType, streamId, flags, payloadSize);
- } catch (StreamError se) {
+ } catch (StreamException se) {
swallow(payloadSize);
throw se;
}
@@ -244,7 +244,7 @@ class Http2Parser {
private void readSettingsFrame(int flags, int payloadSize) throws Http2Exception, IOException {
boolean ack = Flags.isAck(flags);
if (payloadSize > 0 && ack) {
- throw new ConnectionError(sm.getString(
+ throw new ConnectionException(sm.getString(
"http2Parser.processFrameSettings.ackWithNonZeroPayload"),
Http2Error.FRAME_SIZE_ERROR);
}
@@ -264,7 +264,7 @@ class Http2Parser {
private void readPushPromiseFrame(int streamId) throws Http2Exception {
- throw new ConnectionError(sm.getString("http2Parser.processFramePushPromise",
+ throw new ConnectionException(sm.getString("http2Parser.processFramePushPromise",
connectionId, Integer.valueOf(streamId)), Http2Error.PROTOCOL_ERROR);
}
@@ -308,11 +308,11 @@ class Http2Parser {
// Validate the data
if (windowSizeIncrement == 0) {
if (streamId == 0) {
- throw new ConnectionError(
+ throw new ConnectionException(
sm.getString("http2Parser.processFrameWindowUpdate.invalidIncrement"),
Http2Error.PROTOCOL_ERROR);
} else {
- throw new StreamError(
+ throw new StreamException(
sm.getString("http2Parser.processFrameWindowUpdate.invalidIncrement"),
Http2Error.PROTOCOL_ERROR, streamId);
}
@@ -326,7 +326,7 @@ class Http2Parser {
throws Http2Exception, IOException {
if (headersCurrentStream == -1) {
// No headers to continue
- throw new ConnectionError(sm.getString(
+ throw new ConnectionException(sm.getString(
"http2Parser.processFrameContinuation.notExpected", connectionId,
Integer.toString(streamId)), Http2Error.PROTOCOL_ERROR);
}
@@ -357,7 +357,7 @@ class Http2Parser {
try {
hpackDecoder.decode(headerReadBuffer);
} catch (HpackException hpe) {
- throw new ConnectionError(
+ throw new ConnectionException(
sm.getString("http2Parser.processFrameHeaders.decodingFailed"),
Http2Error.COMPRESSION_ERROR);
}
@@ -367,7 +367,7 @@ class Http2Parser {
}
if (headerReadBuffer.position() > 0 && endOfHeaders) {
- throw new ConnectionError(
+ throw new ConnectionException(
sm.getString("http2Parser.processFrameHeaders.decodingDataLeft"),
Http2Error.COMPRESSION_ERROR);
}
@@ -413,26 +413,26 @@ class Http2Parser {
}
if (expected != null && frameType != expected) {
- throw new StreamError(sm.getString("http2Parser.processFrame.unexpectedType",
+ throw new StreamException(sm.getString("http2Parser.processFrame.unexpectedType",
expected, frameType), Http2Error.PROTOCOL_ERROR, streamId);
}
if (payloadSize > maxPayloadSize) {
- throw new ConnectionError(sm.getString("http2Parser.payloadTooBig",
+ throw new ConnectionException(sm.getString("http2Parser.payloadTooBig",
Integer.toString(payloadSize), Integer.toString(maxPayloadSize)),
Http2Error.FRAME_SIZE_ERROR);
}
if (headersCurrentStream != -1) {
if (headersCurrentStream != streamId) {
- throw new ConnectionError(sm.getString("http2Parser.headers.wrongStream",
+ throw new ConnectionException(sm.getString("http2Parser.headers.wrongStream",
connectionId, Integer.toString(headersCurrentStream),
Integer.toString(streamId)), Http2Error.COMPRESSION_ERROR);
}
if (frameType == FrameType.RST) {
// NO-OP: RST is OK here
} else if (frameType != FrameType.CONTINUATION) {
- throw new ConnectionError(sm.getString("http2Parser.headers.wrongFrameType",
+ throw new ConnectionException(sm.getString("http2Parser.headers.wrongFrameType",
connectionId, Integer.toString(headersCurrentStream),
frameType), Http2Error.COMPRESSION_ERROR);
}
@@ -517,11 +517,11 @@ class Http2Parser {
// Data frames
ByteBuffer getInputByteBuffer(int streamId, int payloadSize) throws Http2Exception;
- void receiveEndOfStream(int streamId) throws ConnectionError;
+ void receiveEndOfStream(int streamId) throws ConnectionException;
// Header frames
HeaderEmitter headersStart(int streamId) throws Http2Exception;
- void headersEnd(int streamId) throws ConnectionError;
+ void headersEnd(int streamId) throws ConnectionException;
// Priority frames (also headers)
void reprioritise(int streamId, int parentStreamId, boolean exclusive, int weight)
@@ -531,7 +531,7 @@ class Http2Parser {
void reset(int streamId, long errorCode) throws Http2Exception;
// Settings frames
- void setting(int identifier, long value) throws ConnectionError;
+ void setting(int identifier, long value) throws ConnectionException;
void settingsEnd(boolean ack) throws IOException;
// Ping frames
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=1684599&r1=1684598&r2=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Wed Jun 10 08:13:30 2015
@@ -245,7 +245,7 @@ public class Http2UpgradeHandler extends
if (!parser.readFrame(false)) {
break;
}
- } catch (StreamError se) {
+ } catch (StreamException se) {
// Stream errors are not fatal to the connection so
// continue reading frames
closeStream(se);
@@ -340,7 +340,7 @@ public class Http2UpgradeHandler extends
}
- private void closeStream(StreamError se) throws ConnectionError, IOException {
+ private void closeStream(StreamException se) throws ConnectionException, IOException {
if (log.isDebugEnabled()) {
log.debug(sm.getString("upgradeHandler.rst.debug", connectionId,
@@ -627,27 +627,27 @@ public class Http2UpgradeHandler extends
}
- private Stream getStream(int streamId, boolean unknownIsError) throws ConnectionError{
+ private Stream getStream(int streamId, boolean unknownIsError) throws ConnectionException{
Integer key = Integer.valueOf(streamId);
Stream result = streams.get(key);
if (result == null && unknownIsError) {
// Stream has been closed and removed from the map
- throw new ConnectionError(sm.getString("upgradeHandler.stream.closed", key), Http2Error.PROTOCOL_ERROR);
+ throw new ConnectionException(sm.getString("upgradeHandler.stream.closed", key), Http2Error.PROTOCOL_ERROR);
}
return result;
}
- private Stream createRemoteStream(int streamId) throws ConnectionError {
+ private Stream createRemoteStream(int streamId) throws ConnectionException {
Integer key = Integer.valueOf(streamId);
if (streamId %2 != 1) {
- throw new ConnectionError(
+ throw new ConnectionException(
sm.getString("upgradeHandler.stream.even", key), Http2Error.PROTOCOL_ERROR);
}
if (streamId <= maxRemoteStreamId) {
- throw new ConnectionError(sm.getString("upgradeHandler.stream.old", key,
+ throw new ConnectionException(sm.getString("upgradeHandler.stream.old", key,
Integer.valueOf(maxRemoteStreamId)), Http2Error.PROTOCOL_ERROR);
}
@@ -770,7 +770,7 @@ public class Http2UpgradeHandler extends
@Override
- public void receiveEndOfStream(int streamId) throws ConnectionError {
+ public void receiveEndOfStream(int streamId) throws ConnectionException {
Stream stream = getStream(streamId, true);
if (stream != null) {
stream.receivedEndOfStream();
@@ -807,7 +807,7 @@ public class Http2UpgradeHandler extends
@Override
- public void headersEnd(int streamId) throws ConnectionError {
+ public void headersEnd(int streamId) throws ConnectionException {
Stream stream = getStream(streamId, true);
// Process this stream on a container thread
StreamProcessor streamProcessor = new StreamProcessor(stream, adapter, socketWrapper);
@@ -828,7 +828,7 @@ public class Http2UpgradeHandler extends
@Override
- public void setting(int identifier, long value) throws ConnectionError {
+ public void setting(int identifier, long value) throws ConnectionException {
remoteSettings.set(identifier, value);
}
Copied: tomcat/trunk/java/org/apache/coyote/http2/StreamException.java (from r1684595, tomcat/trunk/java/org/apache/coyote/http2/StreamError.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamException.java?p2=tomcat/trunk/java/org/apache/coyote/http2/StreamException.java&p1=tomcat/trunk/java/org/apache/coyote/http2/StreamError.java&r1=1684595&r2=1684599&rev=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamError.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamException.java Wed Jun 10 08:13:30 2015
@@ -16,13 +16,16 @@
*/
package org.apache.coyote.http2;
-public class StreamError extends Http2Exception {
+/**
+ * Thrown when an HTTP/2 stream error occurs.
+ */
+public class StreamException extends Http2Exception {
private static final long serialVersionUID = 1L;
private final int streamId;
- public StreamError(String msg, Http2Error error, int streamId) {
+ public StreamException(String msg, Http2Error error, int streamId) {
super(msg, error);
this.streamId = streamId;
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamStateMachine.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamStateMachine.java?rev=1684599&r1=1684598&r2=1684599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamStateMachine.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamStateMachine.java Wed Jun 10 08:13:30 2015
@@ -108,11 +108,11 @@ public class StreamStateMachine {
// state of this stream.
if (!isFrameTypePermitted(frameType)) {
if (state.connectionErrorForInvalidFrame) {
- throw new ConnectionError(sm.getString("streamStateMachine.invalidFrame",
+ throw new ConnectionException(sm.getString("streamStateMachine.invalidFrame",
stream.getConnectionId(), stream.getIdentifier(), state, frameType),
state.errorCodeForInvalidFrame);
} else {
- throw new StreamError(sm.getString("streamStateMachine.invalidFrame",
+ throw new StreamException(sm.getString("streamStateMachine.invalidFrame",
stream.getConnectionId(), stream.getIdentifier(), state, frameType),
state.errorCodeForInvalidFrame, stream.getIdentifier().intValue());
}
Modified: tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java?rev=1684599&r1=1684598&r2=1684599&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java (original)
+++ tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java Wed Jun 10 08:13:30 2015
@@ -499,7 +499,7 @@ public abstract class Http2TestBase exte
@Override
- public void setting(int identifier, long value) throws ConnectionError {
+ public void setting(int identifier, long value) throws ConnectionException {
trace.append("0-Settings-[" + identifier + "]-[" + value + "]\n");
remoteSettings.set(identifier, value);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org