@Override public void onConnect(HttpConnection connection, ByteBufferProvider byteBufferProvider) { webSocketHandler.onConnect(this); }
@Override public void onDisconnect(Connection connection, ByteBufferProvider bufferProvider) throws IOException { releaseByteBuffers(tempMessage); webSocketHandler.onDisconnect(this); } }
@Test public void closeTest_2() throws IOException, URISyntaxException, InterruptedException { AtomicReference<String> messageHolder = new AtomicReference<>(); handler = new WebSocketHandler() { @Override public void onDisconnect(WebSocketListener listener) { Assert.assertTrue(messageHolder.compareAndSet(null, "closed")); } }; SimpleWebSocketClient client = new SimpleWebSocketClient("ws://localhost:" + getPort()); client.connectIfNot(); client.in.close(); Thread.sleep(10); Assert.assertEquals("closed", messageHolder.get()); }
return response.status(Status._400); beforeHandshake(request, response); if (response.isCommitted()) return response; T listener = createListener(c, this); c.onDisconnect(listener); c.upgrade(listener);
webSocketHandler.onMessage(this, message); releaseByteBuffers(message); message.clear();
@Test public void echoTest() throws IOException, URISyntaxException, InterruptedException { handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) { listener.sendMessage(message); } }; AtomicReference<String> messageHolder = new AtomicReference<>(); SimpleWebSocketClient client = new SimpleWebSocketClient("ws://localhost:" + getPort()) { @Override public void onMessage(Message message) { messageHolder.set(message.asString()); } }; client.send("foo bar"); client.waitForMessage(); Assert.assertEquals("foo bar", messageHolder.get()); }
@Test public void pingTest() throws IOException, URISyntaxException, InterruptedException { handler = new WebSocketHandler(); SimpleWebSocketClient client = new SimpleWebSocketClient("ws://localhost:" + getPort()); Assert.assertTrue(client.ping() >= 0); }
AtomicInteger counterCreateBuffer = new AtomicInteger(); AtomicInteger counterIncreaseBufferSize = new AtomicInteger(); handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) {
@Test public void limitTest() throws IOException, URISyntaxException, InterruptedException { handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) { listener.sendMessage(message); } }; SimpleWebSocketClient client = new SimpleWebSocketClient("ws://localhost:" + getPort()) { @Override public void onMessage(Message message) { throw new IllegalArgumentException(); } }; byte[] data; data = new byte[1024 * 1024]; ThreadLocalRandom.current().nextBytes(data); try { client.send(data); client.waitForMessage(); Assert.assertTrue(false); } catch (SocketException e) { Assert.assertEquals("Connection reset", e.getMessage()); } }
AtomicInteger counterCreateBuffer = new AtomicInteger(); AtomicInteger counterIncreaseBufferSize = new AtomicInteger(); handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) {
AtomicInteger counterCreateBuffer = new AtomicInteger(); AtomicInteger counterIncreaseBufferSize = new AtomicInteger(); handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) {
AtomicInteger counterCreateBuffer = new AtomicInteger(); AtomicInteger counterIncreaseBufferSize = new AtomicInteger(); handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) {
@Test public void testFrames() throws IOException, URISyntaxException, InterruptedException { handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) { listener.sendMessage(message); } }; AtomicReference<String> messageHolder = new AtomicReference<>(); SimpleWebSocketClient client = new SimpleWebSocketClient("ws://localhost:" + getPort()) { @Override public void onMessage(Message message) { messageHolder.set(message.asString()); } }; Message message = new Message().append("foo").append(" ").append("bar"); client.send(message); client.waitForMessage(); Assert.assertEquals("foo bar", messageHolder.get()); }
@Test public void closeTest() throws IOException, URISyntaxException, InterruptedException { AtomicReference<String> messageHolder = new AtomicReference<>(); handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) {
@Test public void echoDifferentSizeTest() throws IOException, URISyntaxException, InterruptedException { server.setWebsocketFrameLengthLimit(1024 * 1024); handler = new WebSocketHandler() { @Override public void onMessage(WebSocketListener listener, Message message) {