From 39d2dd0eaa4ff14f6ff5ecfeddb58124495c5b70 Mon Sep 17 00:00:00 2001 From: Carl Mastrangelo Date: Fri, 29 Jun 2018 13:01:25 -0700 Subject: [PATCH] core: make InternalHandlerRegistry a HandlerRegistry --- .../io/grpc/internal/AbstractServerImplBuilder.java | 5 +++-- .../java/io/grpc/internal/InternalHandlerRegistry.java | 10 +++++++--- core/src/main/java/io/grpc/internal/ServerImpl.java | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/io/grpc/internal/AbstractServerImplBuilder.java b/core/src/main/java/io/grpc/internal/AbstractServerImplBuilder.java index 9a87f0f537..23d42bd43a 100644 --- a/core/src/main/java/io/grpc/internal/AbstractServerImplBuilder.java +++ b/core/src/main/java/io/grpc/internal/AbstractServerImplBuilder.java @@ -65,8 +65,9 @@ public abstract class AbstractServerImplBuilder lookupMethod(String methodName, - @Nullable String authority) { + @Nullable + public ServerMethodDefinition lookupMethod( + String methodName, @Nullable String authority) { return null; } }; diff --git a/core/src/main/java/io/grpc/internal/InternalHandlerRegistry.java b/core/src/main/java/io/grpc/internal/InternalHandlerRegistry.java index 2123e7c628..faf2720cd3 100644 --- a/core/src/main/java/io/grpc/internal/InternalHandlerRegistry.java +++ b/core/src/main/java/io/grpc/internal/InternalHandlerRegistry.java @@ -16,6 +16,7 @@ package io.grpc.internal; +import io.grpc.HandlerRegistry; import io.grpc.ServerMethodDefinition; import io.grpc.ServerServiceDefinition; import java.util.ArrayList; @@ -26,7 +27,7 @@ import java.util.List; import java.util.Map; import javax.annotation.Nullable; -final class InternalHandlerRegistry { +final class InternalHandlerRegistry extends HandlerRegistry { private final List services; private final Map> methods; @@ -40,16 +41,19 @@ final class InternalHandlerRegistry { /** * Returns the service definitions in this registry. */ + @Override public List getServices() { return services; } @Nullable - ServerMethodDefinition lookupMethod(String methodName) { + @Override + public ServerMethodDefinition lookupMethod(String methodName, @Nullable String authority) { + // TODO (carl-mastrangelo): honor authority header. return methods.get(methodName); } - static class Builder { + static final class Builder { // Store per-service first, to make sure services are added/replaced atomically. private final HashMap services = diff --git a/core/src/main/java/io/grpc/internal/ServerImpl.java b/core/src/main/java/io/grpc/internal/ServerImpl.java index 1fc982270d..9dd2385019 100644 --- a/core/src/main/java/io/grpc/internal/ServerImpl.java +++ b/core/src/main/java/io/grpc/internal/ServerImpl.java @@ -83,7 +83,7 @@ public final class ServerImpl extends io.grpc.Server implements Instrumented executorPool; /** Executor for application processing. Safe to read after {@link #start()}. */ private Executor executor; - private final InternalHandlerRegistry registry; + private final HandlerRegistry registry; private final HandlerRegistry fallbackRegistry; private final List transportFilters; // This is iterated on a per-call basis. Use an array instead of a Collection to avoid iterator