package io.muoncore.memory.discovery; import io.muoncore.Discovery; import io.muoncore.InstanceDescriptor; import io.muoncore.ServiceDescriptor; import io.muoncore.transport.ServiceCache; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Designed to work in tandem with InMemTransport(s). */ public class InMemDiscovery implements Discovery { private ServiceCache cache = new ServiceCache(false); @Override public List<ServiceDescriptor> getKnownServices() { return cache.getServices(); } @Override public void advertiseLocalService(InstanceDescriptor descriptor) { cache.addService(descriptor); } @Override public void onReady(DiscoveryOnReady onReady) { new Thread(() -> { try { onReady.call(); } catch (Exception e) { e.printStackTrace(); } }).start(); } @Override public void shutdown() { } }