Example usage for com.google.common.util.concurrent Futures successfulAsList

List of usage examples for com.google.common.util.concurrent Futures successfulAsList

Introduction

In this page you can find the example usage for com.google.common.util.concurrent Futures successfulAsList.

Prototype

@Beta
@CheckReturnValue
public static <V> ListenableFuture<List<V>> successfulAsList(
        Iterable<? extends ListenableFuture<? extends V>> futures) 

Source Link

Document

Creates a new ListenableFuture whose value is a list containing the values of all its successful input futures.

Usage

From source file:com.magnet.yak.Launcher.java

public static void main(String args[]) {
    LOGGER.trace("main : {}");
    List<ListenableFuture<RegisterUserCmdOutput>> list = new ArrayList<ListenableFuture<RegisterUserCmdOutput>>();
    for (int i = 1; i < 2; i++) {
        MMXContext context = new MMXContext("/Users/sdatar/work/git/mmxpinger/src/main/resources/", "version-1",
                "sujay-device" + i);

        MMXSettings mmxSettings = new MMXSettings(context, "aaaa");
        mmxSettings.setString(MMXSettings.PROP_APIKEY, "0dc6447b-5593-43b4-8437-20f33bc80d32");
        mmxSettings.setString(MMXSettings.PROP_APPID, "jcci3jaffqw");
        mmxSettings.setString(MMXSettings.PROP_GUESTSECRET, "1tqkjnfuk9g3w");
        mmxSettings.setString(MMXSettings.PROP_HOST, "localhost");
        mmxSettings.setString(MMXSettings.PROP_PORT, "5222");
        MMXClient mmxClient = new MMXClient(context, mmxSettings);

        RegisterUserCmdInput input = new RegisterUserCmdInput("zing" + i, "test");
        try {//from w w w.j  a  v a 2s  .c o m
            ListenableFuture<RegisterUserCmdOutput> future = new RegisterUserCmd().execAsync(input);
            list.add(future);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    ListenableFuture<List<RegisterUserCmdOutput>> lists = Futures.successfulAsList(list);
    try {
        List<RegisterUserCmdOutput> successList = lists.get();
        for (RegisterUserCmdOutput output : successList) {
            LOGGER.trace("main : output={}", output);
        }
        try {
            //client.getPushManager().push("sujay2", "sujay-device2", "PlaySound", "{\r\n  \"text\": \"Current app is out of date.  Newer version is available.\",\r\n  \"date\": \"2014-10-9\",\r\n  \"sound\": \"base64-encoded-audio-content\"\r\n}\r\n");
        } catch (Exception e) {
            e.printStackTrace();
        }
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ExecutionException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:com.google.NithPoints.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();/*from w  ww  .j  ava  2s . c om*/
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = NetworkParameters.prodNet();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<TCPNetworkConnection>> futures = Lists.newArrayList();
    for (final InetAddress addr : addrs) {
        final ListenableFuture<TCPNetworkConnection> future = TCPNetworkConnection.connectTo(params,
                new InetSocketAddress(addr, params.port), 1000 /* timeout */);
        futures.add(future);
        // Once the connection has completed version handshaking ...
        Futures.addCallback(future, new FutureCallback<TCPNetworkConnection>() {
            public void onSuccess(TCPNetworkConnection conn) {
                // Check the chain height it claims to have.
                VersionMessage ver = conn.getVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                conn.close();
            }

            public void onFailure(Throwable throwable) {
                System.out.println("Failed to talk to " + addr + ": " + throwable.getMessage());
            }
        });
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:com.google.logicoin.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();//from   w  w w.j a  va2  s.  c om
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = MainNetParams.get();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<TCPNetworkConnection>> futures = Lists.newArrayList();
    for (final InetAddress addr : addrs) {
        final ListenableFuture<TCPNetworkConnection> future = TCPNetworkConnection.connectTo(params,
                new InetSocketAddress(addr, params.getPort()), 1000 /* timeout */, null);
        futures.add(future);
        // Once the connection has completed version handshaking ...
        Futures.addCallback(future, new FutureCallback<TCPNetworkConnection>() {
            public void onSuccess(TCPNetworkConnection conn) {
                // Check the chain height it claims to have.
                VersionMessage ver = conn.getVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                conn.close();
            }

            public void onFailure(Throwable throwable) {
                System.out.println("Failed to talk to " + addr + ": " + throwable.getMessage());
            }
        });
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:com.google.bitcoin.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();/* w ww . j  a v a 2 s. com*/
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = MainNetParams.get();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<Void>> futures = Lists.newArrayList();
    NioClientManager clientManager = new NioClientManager();
    for (final InetAddress addr : addrs) {
        InetSocketAddress address = new InetSocketAddress(addr, params.getPort());
        final Peer peer = new Peer(params, new VersionMessage(params, 0), null, new PeerAddress(address));
        final SettableFuture future = SettableFuture.create();
        // Once the connection has completed version handshaking ...
        peer.addEventListener(new AbstractPeerEventListener() {
            public void onPeerConnected(Peer p, int peerCount) {
                // Check the chain height it claims to have.
                VersionMessage ver = peer.getPeerVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                // Now finish the future and close the connection
                future.set(null);
                peer.close();
            }

            public void onPeerDisconnected(Peer p, int peerCount) {
                if (!future.isDone())
                    System.out.println("Failed to talk to " + addr);
                future.set(null);
            }
        });
        clientManager.openConnection(address, peer);
        futures.add(future);
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:com.dogecoin.dogecoinj.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();/*from  w  ww .  j av a 2  s  . co  m*/
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = MainNetParams.get();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<Void>> futures = Lists.newArrayList();
    NioClientManager clientManager = new NioClientManager();
    for (final InetAddress addr : addrs) {
        InetSocketAddress address = new InetSocketAddress(addr, params.getPort());
        final Peer peer = new Peer(params, new VersionMessage(params, 0), null, new PeerAddress(address));
        final SettableFuture<Void> future = SettableFuture.create();
        // Once the connection has completed version handshaking ...
        peer.addEventListener(new AbstractPeerEventListener() {
            @Override
            public void onPeerConnected(Peer p, int peerCount) {
                // Check the chain height it claims to have.
                VersionMessage ver = peer.getPeerVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                // Now finish the future and close the connection
                future.set(null);
                peer.close();
            }

            @Override
            public void onPeerDisconnected(Peer p, int peerCount) {
                if (!future.isDone())
                    System.out.println("Failed to talk to " + addr);
                future.set(null);
            }
        });
        clientManager.openConnection(address, peer);
        futures.add(future);
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:org.guldenj.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();/*from   w w  w.j  a v a 2s  .com*/
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = MainNetParams.get();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<Void>> futures = Lists.newArrayList();
    NioClientManager clientManager = new NioClientManager();
    for (final InetAddress addr : addrs) {
        InetSocketAddress address = new InetSocketAddress(addr, params.getPort());
        final Peer peer = new Peer(params, new VersionMessage(params, 0), null, new PeerAddress(address));
        final SettableFuture<Void> future = SettableFuture.create();
        // Once the connection has completed version handshaking ...
        peer.addConnectedEventListener(new PeerConnectedEventListener() {
            @Override
            public void onPeerConnected(Peer p, int peerCount) {
                // Check the chain height it claims to have.
                VersionMessage ver = peer.getPeerVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                // Now finish the future and close the connection
                future.set(null);
                peer.close();
            }
        });
        peer.addDisconnectedEventListener(new PeerDisconnectedEventListener() {
            @Override
            public void onPeerDisconnected(Peer p, int peerCount) {
                if (!future.isDone())
                    System.out.println("Failed to talk to " + addr);
                future.set(null);
            }
        });
        clientManager.openConnection(address, peer);
        futures.add(future);
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:org.bitcoinj.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();/*from   w  ww .  j a va  2  s .  c om*/
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = MainNetParams.get();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<Void>> futures = Lists.newArrayList();
    NioClientManager clientManager = new NioClientManager();
    for (final InetAddress addr : addrs) {
        InetSocketAddress address = new InetSocketAddress(addr, params.getPort());
        final Peer peer = new Peer(params, new VersionMessage(params, 0), null,
                new PeerAddress(params, address));
        final SettableFuture<Void> future = SettableFuture.create();
        // Once the connection has completed version handshaking ...
        peer.addConnectedEventListener(new PeerConnectedEventListener() {
            @Override
            public void onPeerConnected(Peer p, int peerCount) {
                // Check the chain height it claims to have.
                VersionMessage ver = peer.getPeerVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                // Now finish the future and close the connection
                future.set(null);
                peer.close();
            }
        });
        peer.addDisconnectedEventListener(new PeerDisconnectedEventListener() {
            @Override
            public void onPeerDisconnected(Peer p, int peerCount) {
                if (!future.isDone())
                    System.out.println("Failed to talk to " + addr);
                future.set(null);
            }
        });
        clientManager.openConnection(address, peer);
        futures.add(future);
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:com.google.worldcoin.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();/*from  w ww  .  jav  a 2s.c  om*/
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    //addrs.add(convertAddress());

    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = MainNetParams.get();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<Void>> futures = Lists.newArrayList();
    NioClientManager clientManager = new NioClientManager();
    for (final InetAddress addr : addrs) {
        InetSocketAddress address = new InetSocketAddress(addr, params.getPort());
        final Peer peer = new Peer(params, new VersionMessage(params, 0), null, new PeerAddress(address));
        final SettableFuture future = SettableFuture.create();
        // Once the connection has completed version handshaking ...
        peer.addEventListener(new AbstractPeerEventListener() {
            public void onPeerConnected(Peer p, int peerCount) {
                // Check the chain height it claims to have.
                VersionMessage ver = peer.getPeerVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                // Now finish the future and close the connection
                future.set(null);
                peer.close();
            }

            public void onPeerDisconnected(Peer p, int peerCount) {
                if (!future.isDone())
                    System.out.println("Failed to talk to " + addr);
                future.set(null);
            }
        });
        clientManager.start();
        clientManager.openConnection(address, peer);
        futures.add(future);
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:com.google.litecoin.examples.PrintPeers.java

public static void main(String[] args) throws Exception {
    BriefLogFormatter.init();//from  w w w .ja v  a  2  s.  c om
    System.out.println("=== IRC ===");
    printIRC();
    System.out.println("=== DNS ===");
    printDNS();
    System.out.println("=== Version/chain heights ===");

    ArrayList<InetAddress> addrs = new ArrayList<InetAddress>();
    for (InetSocketAddress peer : dnsPeers)
        addrs.add(peer.getAddress());
    for (InetSocketAddress peer : ircPeers)
        addrs.add(peer.getAddress());
    System.out.println("Scanning " + addrs.size() + " peers:");

    final NetworkParameters params = NetworkParameters.prodNet();
    final Object lock = new Object();
    final long[] bestHeight = new long[1];

    List<ListenableFuture<TCPNetworkConnection>> futures = Lists.newArrayList();
    for (final InetAddress addr : addrs) {
        final ListenableFuture<TCPNetworkConnection> future = TCPNetworkConnection.connectTo(params,
                new InetSocketAddress(addr, params.port), 1000 /* timeout */);
        futures.add(future);
        // Once the connection has completed version handshaking ...
        Futures.addCallback(future, new FutureCallback<TCPNetworkConnection>() {
            public void onSuccess(TCPNetworkConnection conn) {
                // Check the chain height it claims to have.
                VersionMessage ver = conn.getVersionMessage();
                long nodeHeight = ver.bestHeight;
                synchronized (lock) {
                    long diff = bestHeight[0] - nodeHeight;
                    if (diff > 0) {
                        System.out.println("Node is behind by " + diff + " blocks: " + addr);
                    } else if (diff == 0) {
                        System.out.println("Node " + addr + " has " + nodeHeight + " blocks");
                        bestHeight[0] = nodeHeight;
                    } else if (diff < 0) {
                        System.out.println("Node is ahead by " + Math.abs(diff) + " blocks: " + addr);
                        bestHeight[0] = nodeHeight;
                    }
                }
                conn.close();
            }

            public void onFailure(Throwable throwable) {
                System.out.println("Failed to talk to " + addr + ": " + throwable.getMessage());
            }
        });
    }
    // Wait for every tried connection to finish.
    Futures.successfulAsList(futures).get();
}

From source file:bear.console.ConsolesDivider.java

public void await(int sec) {
    try {/*from w  ww  .  jav  a 2 s . co  m*/
        Futures.successfulAsList(futures).get(sec, TimeUnit.SECONDS);
    } catch (Exception e) {
        throw Exceptions.runtime(e);
    }
}