File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
vertx-core/src/test/java/io/vertx/tests/http Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 3939import java .util .concurrent .TimeUnit ;
4040import java .util .concurrent .atomic .AtomicBoolean ;
4141import java .util .concurrent .atomic .AtomicInteger ;
42+ import java .util .concurrent .atomic .AtomicReference ;
4243import java .util .stream .Collectors ;
4344import java .util .stream .Stream ;
4445
@@ -1096,4 +1097,36 @@ private void request() {
10961097
10971098 await ();
10981099 }
1100+
1101+ @ Test
1102+ public void testClientKeepAliveTimeoutNoStreams () throws Exception {
1103+ server .close ();
1104+ server = vertx .createHttpServer (createBaseServerOptions ().setInitialSettings (new Http2Settings ().setMaxConcurrentStreams (0 )));
1105+ server .requestHandler (req -> {
1106+ req .response ().end ();
1107+ });
1108+ startServer ();
1109+ client .close ();
1110+ AtomicBoolean closed = new AtomicBoolean ();
1111+ client = vertx
1112+ .httpClientBuilder ()
1113+ .withConnectHandler (conn -> {
1114+ conn .closeHandler (v -> {
1115+ // We will have retry when the connection is closed
1116+ if (closed .compareAndSet (false , true )) {
1117+ client .close ().onComplete (v2 -> {
1118+ testComplete ();
1119+ });
1120+ }
1121+ });
1122+ })
1123+ .with (createBaseClientOptions ().setHttp2KeepAliveTimeout (1 ))
1124+ .build ();
1125+ client .request (requestOptions ).onComplete (ar -> {
1126+ if (ar .succeeded ()) {
1127+ ar .result ().send ();
1128+ }
1129+ });
1130+ await ();
1131+ }
10991132}
You can’t perform that action at this time.
0 commit comments