From c85e04698fee0abcaf223e3f598dca490c15984b Mon Sep 17 00:00:00 2001 From: Carl Mastrangelo Date: Wed, 2 Mar 2016 10:40:53 -0800 Subject: [PATCH] Make Route Guide client and server accept channel and server builers, respectively. --- .../examples/routeguide/RouteGuideClient.java | 11 +++++--- .../examples/routeguide/RouteGuideServer.java | 26 +++++++++---------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideClient.java b/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideClient.java index 2548a058b6..8828beb37c 100644 --- a/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideClient.java +++ b/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideClient.java @@ -58,11 +58,14 @@ public class RouteGuideClient { private final RouteGuideBlockingStub blockingStub; private final RouteGuideStub asyncStub; - /** Construct client for accessing RoutGuide server at {@code host:port}. */ + /** Construct client for accessing RouteGuide server at {@code host:port}. */ public RouteGuideClient(String host, int port) { - channel = ManagedChannelBuilder.forAddress(host, port) - .usePlaintext(true) - .build(); + this(ManagedChannelBuilder.forAddress(host, port).usePlaintext(true)); + } + + /** Construct client for accessing RouteGuide server using the existing channel. */ + public RouteGuideClient(ManagedChannelBuilder channelBuilder) { + channel = channelBuilder.build(); blockingStub = RouteGuideGrpc.newBlockingStub(channel); asyncStub = RouteGuideGrpc.newStub(channel); } diff --git a/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideServer.java b/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideServer.java index ff24ab0297..ba81bcdd62 100644 --- a/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideServer.java +++ b/examples/src/main/java/io/grpc/examples/routeguide/RouteGuideServer.java @@ -62,29 +62,27 @@ public class RouteGuideServer { private static final Logger logger = Logger.getLogger(RouteGuideServer.class.getName()); private final int port; - private final Collection features; - private Server server; + private final Server server; - public RouteGuideServer(int port) { + public RouteGuideServer(int port) throws IOException { this(port, RouteGuideUtil.getDefaultFeaturesFile()); } /** Create a RouteGuide server listening on {@code port} using {@code featureFile} database. */ - public RouteGuideServer(int port, URL featureFile) { - try { - this.port = port; - features = RouteGuideUtil.parseFeatures(featureFile); - } catch (IOException e) { - throw new RuntimeException(e); - } + public RouteGuideServer(int port, URL featureFile) throws IOException { + this(ServerBuilder.forPort(port), port, RouteGuideUtil.parseFeatures(featureFile)); + } + + /** Create a RouteGuide server using serverBuilder as a base and features as data. */ + public RouteGuideServer(ServerBuilder serverBuilder, int port, Collection features) { + this.port = port; + server = serverBuilder.addService(RouteGuideGrpc.bindService(new RouteGuideService(features))) + .build(); } /** Start serving requests. */ public void start() throws IOException { - server = ServerBuilder.forPort(port) - .addService(RouteGuideGrpc.bindService(new RouteGuideService(features))) - .build() - .start(); + server.start(); logger.info("Server started, listening on " + port); Runtime.getRuntime().addShutdownHook(new Thread() { @Override