case "keepAliveTimeout": if (member.getValue() instanceof Number) { obj.setKeepAliveTimeout(((Number)member.getValue()).intValue());
@Test public void testKeepAliveTimeoutHeader() throws Exception { AtomicBoolean sent = new AtomicBoolean(); server.requestHandler(req -> { if (sent.compareAndSet(false, true)) { req.response().putHeader("keep-alive", "timeout=3").end(); } }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(30), 1); }
@Test public void testKeepAliveTimeoutHeaderReusePrevious() throws Exception { AtomicBoolean sent = new AtomicBoolean(); server.requestHandler(req -> { HttpServerResponse resp = req.response(); if (sent.compareAndSet(false, true)) { resp.putHeader("keep-alive", "timeout=3"); } resp.end(); }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(30), 2); }
@Test public void testKeepAliveTimeout() throws Exception { server.requestHandler(req -> { req.response().end(); }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(3), 1); }
@Test public void testKeepAliveTimeoutHeaderOverwritePrevious() throws Exception { AtomicBoolean sent = new AtomicBoolean(); server.requestHandler(req -> { HttpServerResponse resp = req.response(); int timeout; if (sent.compareAndSet(false, true)) { timeout = 15; } else { timeout = 3; } resp.putHeader("keep-alive", "timeout=" + timeout); resp.end(); }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(30), 2); }
@Test public void testPoolNotExpiring() throws Exception { AtomicLong now = new AtomicLong(); server.requestHandler(req -> { req.response().end(); now.set(System.currentTimeMillis()); vertx.setTimer(2000, id -> { req.connection().close(); }); }); startServer(); client.close(); client = vertx.createHttpClient(new HttpClientOptions().setPoolCleanerPeriod(0).setKeepAliveTimeout(100)); client.getNow(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { resp.endHandler(v1 -> { resp.request().connection().closeHandler(v2 -> { long time = System.currentTimeMillis() - now.get(); assertTrue("Was expecting " + time + " to be > 2000", time >= 2000); testComplete(); }); }); })); await(); }
@Test public void testDisableIdleTimeoutInPool() throws Exception { server.requestHandler(req -> { req.response().end(); }); startServer(); client.close(); client = vertx.createHttpClient(createBaseClientOptions() .setIdleTimeout(1) .setMaxPoolSize(1) .setKeepAliveTimeout(10) ); client.getNow(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, onSuccess(resp -> { resp.endHandler(v1 -> { AtomicBoolean closed = new AtomicBoolean(); resp.request().connection().closeHandler(v2 -> { closed.set(true); }); vertx.setTimer(2000, id -> { assertFalse(closed.get()); testComplete(); }); }); })); await(); }
options.setSendUnmaskedFrames(sendUnmaskedFrame); options.setDecoderInitialBufferSize(decoderInitialBufferSize); options.setKeepAliveTimeout(keepAliveTimeout); options.setHttp2KeepAliveTimeout(http2KeepAliveTimeout); HttpClientOptions copy = new HttpClientOptions(options);
case "keepAliveTimeout": if (member.getValue() instanceof Number) { obj.setKeepAliveTimeout(((Number)member.getValue()).intValue());
@Test public void testKeepAliveTimeoutHeader() throws Exception { AtomicBoolean sent = new AtomicBoolean(); server.requestHandler(req -> { if (sent.compareAndSet(false, true)) { req.response().putHeader("keep-alive", "timeout=3").end(); } }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(30), 1); }
@Test public void testKeepAliveTimeoutHeaderReusePrevious() throws Exception { AtomicBoolean sent = new AtomicBoolean(); server.requestHandler(req -> { HttpServerResponse resp = req.response(); if (sent.compareAndSet(false, true)) { resp.putHeader("keep-alive", "timeout=3"); } resp.end(); }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(30), 2); }
@Test public void testKeepAliveTimeout() throws Exception { server.requestHandler(req -> { req.response().end(); }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(3), 1); }
@Test public void testKeepAliveTimeoutHeaderOverwritePrevious() throws Exception { AtomicBoolean sent = new AtomicBoolean(); server.requestHandler(req -> { HttpServerResponse resp = req.response(); int timeout; if (sent.compareAndSet(false, true)) { timeout = 15; } else { timeout = 3; } resp.putHeader("keep-alive", "timeout=" + timeout); resp.end(); }); testKeepAliveTimeout(new HttpClientOptions().setMaxPoolSize(1).setKeepAliveTimeout(30), 2); }
@Test public void testPoolNotExpiring() throws Exception { AtomicLong now = new AtomicLong(); server.requestHandler(req -> { req.response().end(); now.set(System.currentTimeMillis()); vertx.setTimer(2000, id -> { req.connection().close(); }); }); startServer(); client.close(); client = vertx.createHttpClient(new HttpClientOptions().setPoolCleanerPeriod(0).setKeepAliveTimeout(100)); client.getNow(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { resp.endHandler(v1 -> { resp.request().connection().closeHandler(v2 -> { long time = System.currentTimeMillis() - now.get(); assertTrue("Was expecting " + time + " to be > 2000", time >= 2000); testComplete(); }); }); }); await(); }
@Test public void testDisableIdleTimeoutInPool() throws Exception { server.requestHandler(req -> { req.response().end(); }); startServer(); client.close(); client = vertx.createHttpClient(createBaseClientOptions() .setIdleTimeout(1) .setMaxPoolSize(1) .setKeepAliveTimeout(10) ); client.getNow(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> { resp.endHandler(v1 -> { AtomicBoolean closed = new AtomicBoolean(); resp.request().connection().closeHandler(v2 -> { closed.set(true); }); vertx.setTimer(2000, id -> { assertFalse(closed.get()); testComplete(); }); }); }); await(); }
assertEquals(options, options.setKeepAliveTimeout(10)); assertEquals(10, options.getKeepAliveTimeout()); assertIllegalArgumentException(() -> options.setKeepAliveTimeout(-1));
options.setSendUnmaskedFrames(sendUnmaskedFrame); options.setDecoderInitialBufferSize(decoderInitialBufferSize); options.setKeepAliveTimeout(keepAliveTimeout); options.setHttp2KeepAliveTimeout(http2KeepAliveTimeout); HttpClientOptions copy = new HttpClientOptions(options);
assertEquals(options, options.setKeepAliveTimeout(10)); assertEquals(10, options.getKeepAliveTimeout()); assertIllegalArgumentException(() -> options.setKeepAliveTimeout(-1));