Class ServiceDiscovererUtils


  • public final class ServiceDiscovererUtils
    extends java.lang.Object
    A set of utility functions for ServiceDiscoverer.
    • Method Detail

      • calculateDifference

        @Nullable
        public static <T> java.util.List<ServiceDiscovererEvent<T>> calculateDifference​(java.util.List<? extends T> currentActiveAddresses,
                                                                                        java.util.List<? extends T> newActiveAddresses,
                                                                                        java.util.Comparator<T> comparator,
                                                                                        @Nullable
                                                                                        ServiceDiscovererUtils.TwoIntsConsumer reporter)
        Given a sorted list of currently active addresses, and a new set of unsorted active address calculate the ServiceDiscovererEvents.

        newActiveAddresses will be sorted in this method.

        Type Parameters:
        T - The type of address.
        Parameters:
        currentActiveAddresses - The currently active addresses.
        newActiveAddresses - The new list of active addresses.This list must be modifiable as it will be sorted with List.sort(Comparator).
        comparator - A comparator for the addresses and to use for binary searches.
        reporter - A reporter for the numbers of available and unavailable events.
        Returns:
        A list of ServiceDiscovererEvents which represents the changes between currentActiveAddresses and newActiveAddresses, or null if there are no changes.