Author: markt
Date: Thu Nov 30 10:20:27 2017
New Revision: 1816700
URL: http://svn.apache.org/viewvc?rev=1816700&view=rev
Log:
Refactoring: HTTP/1.1 - HTTP/2 alignment
Change StreamOutputBuffer to implement HttpOutputBuffer
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java?rev=1816700&r1=1816699&r2=1816700&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java Thu
Nov 30 10:20:27 2017
@@ -329,7 +329,7 @@ public class Http2AsyncUpgradeHandler ex
sendfile.left -= bytesWritten;
if (sendfile.left == 0) {
try {
- sendfile.stream.getOutputBuffer().close();
+ sendfile.stream.getOutputBuffer().end();
} catch (IOException e) {
failed(e, sendfile);
}
Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1816700&r1=1816699&r2=1816700&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Thu Nov 30 10:20:27
2017
@@ -31,9 +31,9 @@ import java.util.function.Supplier;
import org.apache.coyote.ActionCode;
import org.apache.coyote.CloseNowException;
import org.apache.coyote.InputBuffer;
-import org.apache.coyote.OutputBuffer;
import org.apache.coyote.Request;
import org.apache.coyote.Response;
+import org.apache.coyote.http.HttpOutputBuffer;
import org.apache.coyote.http2.HpackDecoder.HeaderEmitter;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -685,7 +685,7 @@ class Stream extends AbstractStream impl
}
- class StreamOutputBuffer implements OutputBuffer {
+ class StreamOutputBuffer implements HttpOutputBuffer {
private final ByteBuffer buffer = ByteBuffer.allocate(8 * 1024);
private volatile long written = 0;
@@ -784,7 +784,8 @@ class Stream extends AbstractStream impl
return written;
}
- final void close() throws IOException {
+ @Override
+ public final void end() throws IOException {
closed = true;
flushData();
writeTrailers();
@@ -797,6 +798,11 @@ class Stream extends AbstractStream impl
final boolean hasNoBody() {
return ((written == 0) && closed);
}
+
+ @Override
+ public void flush() throws IOException {
+ flush(true);
+ }
}
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=1816700&r1=1816699&r2=1816700&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Thu Nov 30
10:20:27 2017
@@ -158,7 +158,7 @@ class StreamProcessor extends AbstractPr
protected final void finishResponse() throws IOException {
sendfileState = handler.processSendfile(sendfileData);
if (!(sendfileState == SendfileState.PENDING)) {
- stream.getOutputBuffer().close();
+ stream.getOutputBuffer().end();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]