mirror of https://github.com/grpc/grpc-java.git
core: Move ServerMethodDefinition back into top-level class
This effectively reverts part of 3df1446d.
This commit is contained in:
parent
cd9042b49b
commit
23f34be649
|
|
@ -31,8 +31,6 @@
|
||||||
|
|
||||||
package io.grpc;
|
package io.grpc;
|
||||||
|
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.annotation.concurrent.ThreadSafe;
|
import javax.annotation.concurrent.ThreadSafe;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,6 @@ package io.grpc;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014, Google Inc. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are
|
||||||
|
* met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above
|
||||||
|
* copyright notice, this list of conditions and the following disclaimer
|
||||||
|
* in the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* * Neither the name of Google Inc. nor the names of its
|
||||||
|
* contributors may be used to endorse or promote products derived from
|
||||||
|
* this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.grpc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Definition of a method exposed by a {@link Server}.
|
||||||
|
*
|
||||||
|
* @see ServerServiceDefinition
|
||||||
|
*/
|
||||||
|
public final class ServerMethodDefinition<ReqT, RespT> {
|
||||||
|
private final MethodDescriptor<ReqT, RespT> method;
|
||||||
|
private final ServerCallHandler<ReqT, RespT> handler;
|
||||||
|
|
||||||
|
private ServerMethodDefinition(MethodDescriptor<ReqT, RespT> method,
|
||||||
|
ServerCallHandler<ReqT, RespT> handler) {
|
||||||
|
this.method = method;
|
||||||
|
this.handler = handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new instance.
|
||||||
|
*
|
||||||
|
* @param method the {@link MethodDescriptor} for this method.
|
||||||
|
* @param handler to dispatch calls to.
|
||||||
|
* @return a new instance.
|
||||||
|
*/
|
||||||
|
public static <ReqT, RespT> ServerMethodDefinition<ReqT, RespT> create(
|
||||||
|
MethodDescriptor<ReqT, RespT> method,
|
||||||
|
ServerCallHandler<ReqT, RespT> handler) {
|
||||||
|
return new ServerMethodDefinition<ReqT, RespT>(method, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** The {@code MethodDescriptor} for this method. */
|
||||||
|
public MethodDescriptor<ReqT, RespT> getMethodDescriptor() {
|
||||||
|
return method;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Handler for incoming calls. */
|
||||||
|
public ServerCallHandler<ReqT, RespT> getServerCallHandler() {
|
||||||
|
return handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new method definition with a different call handler.
|
||||||
|
*
|
||||||
|
* @param handler to bind to a cloned instance of this.
|
||||||
|
* @return a cloned instance of this with the new handler bound.
|
||||||
|
*/
|
||||||
|
public ServerMethodDefinition<ReqT, RespT> withServerCallHandler(
|
||||||
|
ServerCallHandler<ReqT, RespT> handler) {
|
||||||
|
return new ServerMethodDefinition<ReqT, RespT>(method, handler);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -165,57 +165,4 @@ public final class ServerServiceDefinition {
|
||||||
return new ServerServiceDefinition(serviceDescriptor, methods);
|
return new ServerServiceDefinition(serviceDescriptor, methods);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Definition of a method exposed by a {@link Server}.
|
|
||||||
*/
|
|
||||||
public static final class ServerMethodDefinition<ReqT, RespT> {
|
|
||||||
|
|
||||||
private final MethodDescriptor<ReqT, RespT> method;
|
|
||||||
private final ServerCallHandler<ReqT, RespT> handler;
|
|
||||||
|
|
||||||
private ServerMethodDefinition(MethodDescriptor<ReqT, RespT> method,
|
|
||||||
ServerCallHandler<ReqT, RespT> handler) {
|
|
||||||
this.method = method;
|
|
||||||
this.handler = handler;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new instance.
|
|
||||||
*
|
|
||||||
* @param method the {@link MethodDescriptor} for this method.
|
|
||||||
* @param handler to dispatch calls to.
|
|
||||||
* @return a new instance.
|
|
||||||
*/
|
|
||||||
public static <ReqT, RespT> ServerMethodDefinition<ReqT, RespT> create(
|
|
||||||
MethodDescriptor<ReqT, RespT> method,
|
|
||||||
ServerCallHandler<ReqT, RespT> handler) {
|
|
||||||
return new ServerMethodDefinition<ReqT, RespT>(method, handler);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The {@code MethodDescriptor} for this method.
|
|
||||||
*/
|
|
||||||
public MethodDescriptor<ReqT, RespT> getMethodDescriptor() {
|
|
||||||
return method;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handler for incoming calls.
|
|
||||||
*/
|
|
||||||
public ServerCallHandler<ReqT, RespT> getServerCallHandler() {
|
|
||||||
return handler;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new method definition with a different call handler.
|
|
||||||
*
|
|
||||||
* @param handler to bind to a cloned instance of this.
|
|
||||||
* @return a cloned instance of this with the new handler bound.
|
|
||||||
*/
|
|
||||||
public ServerMethodDefinition<ReqT, RespT> withServerCallHandler(
|
|
||||||
ServerCallHandler<ReqT, RespT> handler) {
|
|
||||||
return new ServerMethodDefinition<ReqT, RespT>(method, handler);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,8 @@ import io.grpc.DecompressorRegistry;
|
||||||
import io.grpc.HandlerRegistry;
|
import io.grpc.HandlerRegistry;
|
||||||
import io.grpc.Internal;
|
import io.grpc.Internal;
|
||||||
import io.grpc.ServerBuilder;
|
import io.grpc.ServerBuilder;
|
||||||
|
import io.grpc.ServerMethodDefinition;
|
||||||
import io.grpc.ServerServiceDefinition;
|
import io.grpc.ServerServiceDefinition;
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
|
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@ package io.grpc.internal;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
|
||||||
|
import io.grpc.ServerMethodDefinition;
|
||||||
import io.grpc.ServerServiceDefinition;
|
import io.grpc.ServerServiceDefinition;
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ import io.grpc.DecompressorRegistry;
|
||||||
import io.grpc.HandlerRegistry;
|
import io.grpc.HandlerRegistry;
|
||||||
import io.grpc.Metadata;
|
import io.grpc.Metadata;
|
||||||
import io.grpc.ServerCall;
|
import io.grpc.ServerCall;
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
import io.grpc.ServerMethodDefinition;
|
||||||
import io.grpc.Status;
|
import io.grpc.Status;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,8 @@ package io.grpc.util;
|
||||||
import io.grpc.ExperimentalApi;
|
import io.grpc.ExperimentalApi;
|
||||||
import io.grpc.HandlerRegistry;
|
import io.grpc.HandlerRegistry;
|
||||||
import io.grpc.MethodDescriptor;
|
import io.grpc.MethodDescriptor;
|
||||||
|
import io.grpc.ServerMethodDefinition;
|
||||||
import io.grpc.ServerServiceDefinition;
|
import io.grpc.ServerServiceDefinition;
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentMap;
|
import java.util.concurrent.ConcurrentMap;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ import static org.mockito.Mockito.verifyZeroInteractions;
|
||||||
import io.grpc.MethodDescriptor.Marshaller;
|
import io.grpc.MethodDescriptor.Marshaller;
|
||||||
import io.grpc.MethodDescriptor.MethodType;
|
import io.grpc.MethodDescriptor.MethodType;
|
||||||
import io.grpc.ServerCall.Listener;
|
import io.grpc.ServerCall.Listener;
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
import io.grpc.ServerMethodDefinition;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,6 @@ import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertSame;
|
import static org.junit.Assert.assertSame;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
|
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.rules.ExpectedException;
|
import org.junit.rules.ExpectedException;
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,8 @@ import io.grpc.MethodDescriptor.Marshaller;
|
||||||
import io.grpc.MethodDescriptor.MethodType;
|
import io.grpc.MethodDescriptor.MethodType;
|
||||||
import io.grpc.MethodDescriptor;
|
import io.grpc.MethodDescriptor;
|
||||||
import io.grpc.ServerCallHandler;
|
import io.grpc.ServerCallHandler;
|
||||||
|
import io.grpc.ServerMethodDefinition;
|
||||||
import io.grpc.ServerServiceDefinition;
|
import io.grpc.ServerServiceDefinition;
|
||||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
|
||||||
import io.grpc.ServiceDescriptor;
|
import io.grpc.ServiceDescriptor;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue