case "http2KeepAliveTimeout": if (member.getValue() instanceof Number) { obj.setHttp2KeepAliveTimeout(((Number)member.getValue()).intValue());
@Test public void testKeepAliveTimeout() throws Exception { server.requestHandler(req -> { req.response().end(); }); startServer(); client.close(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); client.getNow(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { long now = System.currentTimeMillis(); resp.request().connection().closeHandler(v -> { long timeout = System.currentTimeMillis() - now; int delta = 500; int low = 3000 - delta; int high = 3000 + delta; assertTrue("Expected actual close timeout " + timeout + " to be > " + low, low < timeout); assertTrue("Expected actual close timeout " + timeout + " to be < " + high, timeout < high); testComplete(); }); })); await(); }
startServer(); client.close(); client = vertx.createHttpClient(clientOptions.setHttp2KeepAliveTimeout(5).setIdleTimeout(2)); HttpClientRequest req = client.get(DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_HOST, "/somepath", onSuccess(resp -> { resp.exceptionHandler(err -> {
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { complete();
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { complete();
@Test public void testDefaultStreamWeightAndDependency() throws Exception { int defaultStreamDependency = 0; short defaultStreamWeight = Http2CodecUtil.DEFAULT_PRIORITY_WEIGHT; waitFor(2); server.requestHandler(req -> { assertEquals(defaultStreamWeight, req.streamPriority().getWeight()); assertEquals(defaultStreamDependency, req.streamPriority().getDependency()); req.response().end(); complete(); }); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { assertEquals(defaultStreamWeight, resp.request().getStreamPriority().getWeight()); assertEquals(defaultStreamDependency, resp.request().getStreamPriority().getDependency()); complete(); })); request.end(); await(); }
options.setDecoderInitialBufferSize(decoderInitialBufferSize); options.setKeepAliveTimeout(keepAliveTimeout); options.setHttp2KeepAliveTimeout(http2KeepAliveTimeout); HttpClientOptions copy = new HttpClientOptions(options); checkCopyHttpClientOptions(options, copy);
@Test public void testStreamWeightAndDependencyInheritance() throws Exception { int requestStreamDependency = 86; short requestStreamWeight = 53; waitFor(2); server.requestHandler(req -> { assertEquals(requestStreamWeight, req.streamPriority().getWeight()); assertEquals(requestStreamDependency, req.streamPriority().getDependency()); req.response().end(); complete(); }); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { assertEquals(requestStreamWeight, resp.request().getStreamPriority().getWeight()); assertEquals(requestStreamDependency, resp.request().getStreamPriority().getDependency()); complete(); })); request.setStreamPriority(new StreamPriority() .setDependency(requestStreamDependency) .setWeight(requestStreamWeight) .setExclusive(false)); request.end(); await(); }
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { assertEquals(responseStreamWeight, resp.request().getStreamPriority().getWeight());
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { assertEquals(responseStreamWeight, resp.request().getStreamPriority().getWeight());
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { assertEquals(responseStreamWeight, resp.request().getStreamPriority().getWeight());
@Test public void testKeepAliveTimeout() throws Exception { server.requestHandler(req -> { req.response().end(); }); startServer(); client.close(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); client.getNow(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { long now = System.currentTimeMillis(); resp.request().connection().closeHandler(v -> { long timeout = System.currentTimeMillis() - now; int delta = 500; int low = 3000 - delta; int high = 3000 + delta; assertTrue("Expected actual close timeout " + timeout + " to be > " + low, low < timeout); assertTrue("Expected actual close timeout " + timeout + " to be < " + high, timeout < high); testComplete(); }); }); await(); }
startServer(); client.close(); client = vertx.createHttpClient(clientOptions.setHttp2KeepAliveTimeout(5).setIdleTimeout(2)); HttpClientRequest req = client.get(DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_HOST, "/somepath", resp -> { resp.exceptionHandler(err -> {
assertEquals(options, options.setHttp2KeepAliveTimeout(10)); assertEquals(10, options.getHttp2KeepAliveTimeout()); assertIllegalArgumentException(() -> options.setHttp2KeepAliveTimeout(-1));
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { complete();
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { complete();
@Test public void testDefaultStreamWeightAndDependency() throws Exception { int defaultStreamDependency = 0; short defaultStreamWeight = Http2CodecUtil.DEFAULT_PRIORITY_WEIGHT; waitFor(2); server.requestHandler(req -> { assertEquals(defaultStreamWeight, req.streamPriority().getWeight()); assertEquals(defaultStreamDependency, req.streamPriority().getDependency()); req.response().end(); complete(); }); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { assertEquals(defaultStreamWeight, resp.request().getStreamPriority().getWeight()); assertEquals(defaultStreamDependency, resp.request().getStreamPriority().getDependency()); complete(); }); request.end(); await(); }
@Test public void testStreamWeightAndDependencyInheritance() throws Exception { int requestStreamDependency = 86; short requestStreamWeight = 53; waitFor(2); server.requestHandler(req -> { assertEquals(requestStreamWeight, req.streamPriority().getWeight()); assertEquals(requestStreamDependency, req.streamPriority().getDependency()); req.response().end(); complete(); }); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { assertEquals(requestStreamWeight, resp.request().getStreamPriority().getWeight()); assertEquals(requestStreamDependency, resp.request().getStreamPriority().getDependency()); complete(); }); request.setStreamPriority(new StreamPriority() .setDependency(requestStreamDependency) .setWeight(requestStreamWeight) .setExclusive(false)); request.end(); await(); }
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { assertEquals(responseStreamWeight, resp.request().getStreamPriority().getWeight());
}); startServer(); client = vertx.createHttpClient(createBaseClientOptions().setHttp2KeepAliveTimeout(3).setPoolCleanerPeriod(1)); HttpClientRequest request = client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { assertEquals(responseStreamWeight, resp.request().getStreamPriority().getWeight());