@Override public Term closeHandler(Handler<Void> handler) { if (handler != null) { conn.setCloseHandler(handler::handle); } else { conn.setCloseHandler(null); } return this; }
@Override public void accept(TtyConnection conn) { disconnectLatch.countDown(); conn.setCloseHandler(new Consumer<Void>() { @Override public void accept(Void v) { closedLatch.countDown(); } }); } });
@Override public void accept(final TtyConnection conn) { conn.setStdinHandler(new Consumer<int[]>() { @Override public void accept(int[] bytes) { conn.close(); } }); conn.setCloseHandler(new Consumer<Void>() { @Override public void accept(Void v) { closedLatch.countDown(); } }); } });
@Override public void accept(final TtyConnection conn) { conn.setCloseHandler(new Consumer<Void>() { @Override public void accept(Void v) { if (closeCount.incrementAndGet() > 1) { fail("Closed call several times"); } else { testComplete(); } } }); conn.setStdinHandler(new Consumer<int[]>() { @Override public void accept(int[] text) { conn.close(); } }); } });
@Override public void accept(TtyConnection conn) { conn.setCloseHandler(new Consumer<Void>() { @Override public void accept(Void v) { new Thread() { @Override public void run() { for (int i = 0;i < 100;i++) { if (checkDisconnected()) { testComplete(); return; } try { Thread.sleep(10); } catch (InterruptedException e) { fail(e); } } } }.start(); } }); conn.close(); } });
private void testClientDisconnect(boolean clean) throws Exception { CountDownLatch disconnectLatch = new CountDownLatch(1); CountDownLatch closedLatch = new CountDownLatch(1); server(conn -> { disconnectLatch.countDown(); conn.setCloseHandler(v -> { closedLatch.countDown(); }); }); assertConnect(); assertTrue(disconnectLatch.await(10, TimeUnit.SECONDS)); assertDisconnect(clean); assertTrue(closedLatch.await(10, TimeUnit.SECONDS)); }
private void testClientDisconnect(boolean clean) throws Exception { CountDownLatch disconnectLatch = new CountDownLatch(1); CountDownLatch closedLatch = new CountDownLatch(1); server(conn -> { disconnectLatch.countDown(); conn.setCloseHandler(v -> { closedLatch.countDown(); }); }); assertConnect(); assertTrue(disconnectLatch.await(10, TimeUnit.SECONDS)); assertDisconnect(clean); assertTrue(closedLatch.await(10, TimeUnit.SECONDS)); }
@Test public void testServerDisconnect() throws Exception { CountDownLatch closedLatch = new CountDownLatch(1); server(conn -> { conn.setStdinHandler(bytes -> { conn.close(); }); conn.setCloseHandler(v -> { closedLatch.countDown(); }); }); assertConnect(); assertWrite("whatever"); assertTrue(closedLatch.await(10, TimeUnit.SECONDS)); }
@Test public void testServerDisconnect() throws Exception { CountDownLatch closedLatch = new CountDownLatch(1); server(conn -> { conn.setStdinHandler(bytes -> { conn.close(); }); conn.setCloseHandler(v -> { closedLatch.countDown(); }); }); assertConnect(); assertWrite("whatever"); assertTrue(closedLatch.await(10, TimeUnit.SECONDS)); }
@Test public void testConnectionClose() throws Exception { AtomicInteger closeCount = new AtomicInteger(); server(conn -> { conn.setCloseHandler(v -> { if (closeCount.incrementAndGet() > 1) { fail("Closed call several times"); } else { testComplete(); } }); conn.setStdinHandler(text -> conn.close()); }); assertConnect(); assertWrite("bye"); await(); }
@Test public void testConnectionClose() throws Exception { AtomicInteger closeCount = new AtomicInteger(); server(conn -> { conn.setCloseHandler(v -> { if (closeCount.incrementAndGet() > 1) { fail("Closed call several times"); } else { testComplete(); } }); conn.setStdinHandler(text -> conn.close()); }); assertConnect(); assertWrite("bye"); await(); }
@Test public void testConnectionCloseImmediatly() throws Exception { server(conn -> { conn.setCloseHandler(v -> { new Thread() { @Override public void run() { for (int i = 0;i < 100;i++) { if (checkDisconnected()) { testComplete(); return; } try { Thread.sleep(10); } catch (InterruptedException e) { fail(e); } } } }.start(); }); conn.close(); }); assertConnect(); await(); }
@Test public void testConnectionCloseImmediatly() throws Exception { server(conn -> { conn.setCloseHandler(v -> { new Thread() { @Override public void run() { for (int i = 0;i < 100;i++) { if (checkDisconnected()) { testComplete(); return; } try { Thread.sleep(10); } catch (InterruptedException e) { fail(e); } } } }.start(); }); conn.close(); }); assertConnect(); await(); }