Skip to content

Commit 566d77a

Browse files
committed
8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
Reviewed-by: michaelm
1 parent f5a582c commit 566d77a

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,8 @@ void readLoop() {
723723
}
724724
//System.err.printf("TestServer: received frame %s\n", frame);
725725
int stream = frame.streamid();
726+
int next = nextstream;
727+
int nextPush = nextPushStreamId;
726728
if (stream == 0) {
727729
if (frame.type() == WindowUpdateFrame.TYPE) {
728730
WindowUpdateFrame wup = (WindowUpdateFrame) frame;
@@ -770,6 +772,16 @@ void readLoop() {
770772
// but the continuation, even after a reset
771773
// should be handle gracefully by the client
772774
// anyway.
775+
} else if (isClientStreamId(stream) && stream < next) {
776+
// We may receive a reset on a client stream that has already
777+
// been closed. Just ignore it.
778+
System.err.println("TestServer: received ResetFrame on closed stream: " + stream);
779+
System.err.println(frame);
780+
} else if (isServerStreamId(stream) && stream < nextPush) {
781+
// We may receive a reset on a push stream that has already
782+
// been closed. Just ignore it.
783+
System.err.println("TestServer: received ResetFrame on closed push stream: " + stream);
784+
System.err.println(frame);
773785
} else {
774786
System.err.println("TestServer: Unexpected frame on: " + stream);
775787
System.err.println(frame);
@@ -790,6 +802,14 @@ void readLoop() {
790802
}
791803
}
792804

805+
static boolean isClientStreamId(int streamid) {
806+
return (streamid & 0x01) == 0x01;
807+
}
808+
809+
static boolean isServerStreamId(int streamid) {
810+
return (streamid & 0x01) == 0x00;
811+
}
812+
793813
/** Encodes an group of headers, without any ordering guarantees. */
794814
List<ByteBuffer> encodeHeaders(HttpHeaders headers) {
795815
List<ByteBuffer> buffers = new LinkedList<>();

0 commit comments

Comments
 (0)