io.scalecube.services.routing.Router Maven / Gradle / Ivy
package io.scalecube.services.routing;
import io.scalecube.services.ServiceReference;
import io.scalecube.services.api.ServiceMessage;
import io.scalecube.services.registry.api.ServiceRegistry;
import java.util.List;
import java.util.Optional;
@FunctionalInterface
public interface Router {
/**
* returns service instance if a given request message is applicable.
*/
default Optional route(ServiceRegistry serviceRegistry, ServiceMessage request) {
return routes(serviceRegistry, request).stream().findFirst();
}
/**
* returns all applicable routes.
*/
List routes(ServiceRegistry serviceRegistry, ServiceMessage request);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy