/** * Performs the sending of the membership list, after we have incremented our own heartbeat. */ protected void sendMembershipList(LocalMember me, LocalMember member) { if (member == null){ return; } long startTime = System.currentTimeMillis(); me.setHeartbeat(System.nanoTime()); UdpActiveGossipMessage message = new UdpActiveGossipMessage(); message.setUriFrom(gossipManager.getMyself().getUri().toASCIIString()); message.setUuid(UUID.randomUUID().toString()); message.getMembers().add(convert(me)); for (LocalMember other : gossipManager.getMembers().keySet()) { message.getMembers().add(convert(other)); } Response r = gossipCore.send(message, member.getUri()); if (r instanceof ActiveGossipOk){ //maybe count metrics here } else { LOGGER.debug("Message " + message + " generated response " + r); } sendMembershipHistogram.update(System.currentTimeMillis() - startTime); }