Beispiel #1
0
  @Override
  public void run(Timeout timeout) throws Exception {
    for (IpAddress ip : monitoredAddresses) {
      Set<Host> hosts = hostManager.getHostsByIp(ip);

      if (hosts.isEmpty()) {
        sendArpNdpRequest(ip);
      } else {
        for (Host host : hosts) {
          HostProvider provider = hostProviders.get(host.providerId());
          if (provider == null) {
            hostProviders.remove(host.providerId(), null);
          } else {
            provider.triggerProbe(host);
          }
        }
      }
    }

    this.timeout = Timer.getTimer().newTimeout(this, probeRate, TimeUnit.MILLISECONDS);
  }