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;
|
||||
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.concurrent.ThreadSafe;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@ package io.grpc;
|
|||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.InputStream;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.Internal;
|
||||
import io.grpc.ServerBuilder;
|
||||
import io.grpc.ServerMethodDefinition;
|
||||
import io.grpc.ServerServiceDefinition;
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ package io.grpc.internal;
|
|||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
|
||||
import io.grpc.ServerMethodDefinition;
|
||||
import io.grpc.ServerServiceDefinition;
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
|
||||
import java.util.HashMap;
|
||||
import javax.annotation.Nullable;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ import io.grpc.DecompressorRegistry;
|
|||
import io.grpc.HandlerRegistry;
|
||||
import io.grpc.Metadata;
|
||||
import io.grpc.ServerCall;
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
import io.grpc.ServerMethodDefinition;
|
||||
import io.grpc.Status;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ package io.grpc.util;
|
|||
import io.grpc.ExperimentalApi;
|
||||
import io.grpc.HandlerRegistry;
|
||||
import io.grpc.MethodDescriptor;
|
||||
import io.grpc.ServerMethodDefinition;
|
||||
import io.grpc.ServerServiceDefinition;
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ import static org.mockito.Mockito.verifyZeroInteractions;
|
|||
import io.grpc.MethodDescriptor.Marshaller;
|
||||
import io.grpc.MethodDescriptor.MethodType;
|
||||
import io.grpc.ServerCall.Listener;
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
import io.grpc.ServerMethodDefinition;
|
||||
|
||||
import org.junit.After;
|
||||
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.fail;
|
||||
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.ExpectedException;
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ import io.grpc.MethodDescriptor.Marshaller;
|
|||
import io.grpc.MethodDescriptor.MethodType;
|
||||
import io.grpc.MethodDescriptor;
|
||||
import io.grpc.ServerCallHandler;
|
||||
import io.grpc.ServerMethodDefinition;
|
||||
import io.grpc.ServerServiceDefinition;
|
||||
import io.grpc.ServerServiceDefinition.ServerMethodDefinition;
|
||||
import io.grpc.ServiceDescriptor;
|
||||
|
||||
import org.junit.After;
|
||||
|
|
|
|||
Loading…
Reference in New Issue