Exemplo n.º 1
1
 private void updatePeer(
     final Peer peer,
     final InetSocketAddress isa,
     final Type type,
     final LanternTrafficCounter trafficCounter) {
   // We can get multiple notifications for the same peer, in which case
   // they'll already have a counter.
   if (peer.getTrafficCounter() == null) {
     log.debug("Setting traffic counter...");
     peer.setTrafficCounter(trafficCounter);
   } else {
     log.debug("Peer already has traffic counter...");
   }
   final String address = isa.getAddress().getHostAddress();
   if (StringUtils.isBlank(peer.getIp())) {
     peer.setIp(address);
   }
   if (peer.getPort() == 0) {
     peer.setPort(isa.getPort());
   }
   if (peer.getRosterEntry() == null) {
     log.debug("Setting roster entry");
     final URI uri = LanternUtils.newURI(peer.getPeerid());
     peer.setRosterEntry(rosterEntry(uri));
   }
   peer.setType(type.toString());
   updateGeoData(peer, isa.getAddress());
   // Note we don't sync peers with the frontend here because the timer
   // will do it for us
 }