private void updateConsistentHash(UnaryOperator<ConsistentHash> consistentHashUpdate) { consistentHashChangeListener.onConsistentHashChanged(consistentHash.updateAndGet(consistentHashUpdate)); }
private void updateConsistentHash(UnaryOperator<ConsistentHash> consistentHashUpdate) { consistentHashChangeListener.onConsistentHashChanged(consistentHash.updateAndGet(consistentHashUpdate)); }
private void updateMemberships() { AtomicReference<ConsistentHash> updatedConsistentHash = new AtomicReference<>(new ConsistentHash()); List<ServiceInstance> instances = discoveryClient.getServices().stream() .map(discoveryClient::getInstances) .flatMap(Collection::stream) .filter(serviceInstanceFilter) .collect(Collectors.toList()); cleanBlackList(instances); instances.stream() .filter(this::ifNotBlackListed) .forEach(serviceInstance -> updateMembershipForServiceInstance(serviceInstance, updatedConsistentHash)); ConsistentHash newConsistentHash = updatedConsistentHash.get(); atomicConsistentHash.set(newConsistentHash); consistentHashChangeListener.onConsistentHashChanged(newConsistentHash); }
private ConsistentHash suspect(Member member) { ConsistentHash newConsistentHash = atomicConsistentHash.updateAndGet(consistentHash -> consistentHash.without(member)); consistentHashChangeListener.onConsistentHashChanged(newConsistentHash); return newConsistentHash; }