/** Performs the probe asynchronously. */ private void sendProbe() { final NameServicesChannelMessage message = new NameServicesChannelMessage(); message.agent = Nodel.getAgent(); List<String> discoveryList = new ArrayList<String>(1); discoveryList.add("*"); List<String> typesList = new ArrayList<String>(2); typesList.add("tcp"); typesList.add("http"); message.discovery = discoveryList; message.types = typesList; _lastProbe.set(System.nanoTime()); // IO is involved so use a thread-pool _threadPool.execute( new Runnable() { @Override public void run() { sendMessage(_sendSocket, s_sendSocketLabel, _groupSocketAddress, message); // check if hard links (direct "multicasting") are enabled for some hosts if (_hardLinksAddresses != null && _hardLinksSocket != null) { for (InetSocketAddress socketAddress : _hardLinksAddresses) { sendMessage(_hardLinksSocket, s_hardLinksSocketlabel, socketAddress, message); } } } }); }