Package org.atmosphere.wasync

Examples of org.atmosphere.wasync.RequestBuilder


            nettyConfig.addProperty("child.tcpNoDelay", "true");
            nettyConfig.addProperty("child.keepAlive", "true");

            final AsyncHttpClient c = new AsyncHttpClient(b.setAsyncHttpClientProviderConfig(nettyConfig).build());
            Client client = ClientFactory.getDefault().newClient();
            RequestBuilder request = client.newRequestBuilder();
            request.method(Request.METHOD.GET).uri(url);
            request.transport(Request.TRANSPORT.WEBSOCKET);
            request.header("X-wakeUpNIO", "true");

            final CountDownLatch l = new CountDownLatch(clientNum);
            final CountDownLatch messages = new CountDownLatch(messageNum * clientNum);
            long clientCount = l.getCount();
            final AtomicLong total = new AtomicLong(0);

            Socket[] sockets = new Socket[clientNum];
            for (int i = 0; i < clientCount; i++) {
                final AtomicLong start = new AtomicLong(0);
                sockets[i] = client.create(client.newOptionsBuilder().runtime(c).reconnect(false).build())
                        .on(new Function<Integer>() {
                            @Override
                            public void on(Integer statusCode) {
                                start.set(System.currentTimeMillis());
                                l.countDown();
                            }
                        }).on(new Function<String>() {

                            int mCount = 0;

                            @Override
                            public void on(String s) {
                                if (s.startsWith("message")) {
                                    String[] m = s.split("\n\r");
                                    mCount += m.length;
                                    messages.countDown();
                                    System.out.println("Message left receive " + messages.getCount() + " message " + s);
                                    if (mCount == messageNum) {
                                        // System.out.println("All messages received " + mCount);
                                        total.addAndGet(System.currentTimeMillis() - start.get());
                                    }
                                }
                            }
                        }).on(new Function<Throwable>() {
                            @Override
                            public void on(Throwable t) {
                                t.printStackTrace();
                            }
                        });

            }

            for (int i = 0; i < clientCount; i++) {
                sockets[i].open(request.build());
            }

            l.await(30, TimeUnit.SECONDS);

            System.out.println("OK, all Connected: " + clientNum);

            Socket socket = client.create(client.newOptionsBuilder().runtime(c).build());
            socket.open(request.build());
            for (int i = 0; i < messageNum; i++) {
                socket.fire("message" + i);
            }
            messages.await(1, TimeUnit.HOURS);
            socket.close();
View Full Code Here


    /**
     * {@inheritDoc}
     */
    @Override
    public RequestBuilder newRequestBuilder() {
        RequestBuilder b = new DefaultRequestBuilder();
        return b.resolver(FunctionResolver.DEFAULT);
    }
View Full Code Here

    /**
     * {@inheritDoc}
     */
    @Override
    public RequestBuilder newRequestBuilder(Class<RequestBuilder> clazz) {
        RequestBuilder b = null;
        try {
            b = clazz.newInstance();
        } catch (InstantiationException e) {
            throw new RuntimeException(e);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
        return b.resolver(FunctionResolver.DEFAULT);
    }
View Full Code Here

TOP

Related Classes of org.atmosphere.wasync.RequestBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.