@Test public void testCombineMultipleFramesIntoASingleMessage() throws Exception { socketHandler = () -> { return socket -> socket.handler(buf -> { assertEquals("Hello World", buf.toString()); testComplete(); }); }; startServers(); client.websocket("/test/400/8ne8e94a/websocket", ws -> { ws.writeFrame(io.vertx.core.http.WebSocketFrame.textFrame("[\"Hello", false)); ws.writeFrame(io.vertx.core.http.WebSocketFrame.continuationFrame(Buffer.buffer(" World\"]"), true)); ws.close(); }); await(); } }
@Test public void testNoDeadlockWhenWritingFromAnotherThreadWithWebsocketTransport() throws Exception { int numMsg = 4000; waitFor(1); AtomicInteger clientReceived = new AtomicInteger(); AtomicInteger serverReceived = new AtomicInteger(); }; }; startServers(); client.websocket("/test/400/8ne8e94a/websocket", ws -> ws.handler(msg -> { clientReceived.addAndGet(msg.length()); if (shallStop.getAsBoolean()) { ws.handler(null); complete(); await();
@Test public void testNoDeadlockWhenWritingFromAnotherThreadWithSseTransport() throws Exception { socketHandler = () -> { return socket -> { AtomicBoolean closed = new AtomicBoolean(); socket.endHandler(v -> { closed.set(true); testComplete(); }); new Thread(() -> { while (!closed.get()) { LockSupport.parkNanos(50); socket.write(Buffer.buffer(TestUtils.randomAlphaString(256))); } }).start(); }; }; startServers(); client.getNow("/test/400/8ne8e94a/eventsource", onSuccess(resp -> { AtomicInteger count = new AtomicInteger(); resp.handler(msg -> { if (count.incrementAndGet() == 400) { resp.request().connection().close(); } }); })); await(); }
@Test public void testNoDeadlockWhenWritingFromAnotherThreadWithSseTransport() throws Exception { socketHandler = () -> { return socket -> { AtomicBoolean closed = new AtomicBoolean(); socket.endHandler(v -> { closed.set(true); testComplete(); }); new Thread(() -> { while (!closed.get()) { LockSupport.parkNanos(50); socket.write(Buffer.buffer(TestUtils.randomAlphaString(256))); } }).start(); }; }; startServers(); client.get("/test/400/8ne8e94a/eventsource", resp -> { AtomicInteger count = new AtomicInteger(); resp.handler(msg -> { if (count.incrementAndGet() == 400) { resp.request().connection().close(); } }); }).end(); await(); }
@Test public void testCombineMultipleFramesIntoASingleMessage() throws Exception { socketHandler = () -> { return socket -> socket.handler(buf -> { assertEquals("Hello World", buf.toString()); testComplete(); }); }; startServers(); client.websocket("/test/400/8ne8e94a/websocket", ws -> { ws.writeFrame(io.vertx.core.http.WebSocketFrame.textFrame("[\"Hello", false)); ws.writeFrame(io.vertx.core.http.WebSocketFrame.continuationFrame(Buffer.buffer(" World\"]"), true)); ws.close(); }); await(); } }
@Test public void testNoDeadlockWhenWritingFromAnotherThreadWithWebsocketTransport() throws Exception { int numMsg = 4000; waitFor(1); AtomicInteger clientReceived = new AtomicInteger(); AtomicInteger serverReceived = new AtomicInteger(); }; }; startServers(); client.websocket("/test/400/8ne8e94a/websocket", ws -> ws.handler(msg -> { clientReceived.addAndGet(msg.length()); if (shallStop.getAsBoolean()) { ws.handler(null); complete(); await();