| 
					
				 | 
			
			
				@@ -51,11 +51,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <grpc/support/host_port.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <grpc/support/log.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "src/proto/grpc/testing/services.pb.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "test/core/util/grpc_profiler.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "test/cpp/qps/client.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "test/cpp/qps/server.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "test/cpp/util/create_test_channel.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include "src/proto/grpc/testing/services.pb.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace grpc { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace testing { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -97,7 +97,8 @@ static std::unique_ptr<Server> CreateServer(const ServerConfig& config) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class WorkerServiceImpl GRPC_FINAL : public WorkerService::Service { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  public: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  explicit WorkerServiceImpl() : acquired_(false) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  explicit WorkerServiceImpl(int server_port) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : acquired_(false), server_port_(server_port) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Status RunClient(ServerContext* ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ServerReaderWriter<ClientStatus, ClientArgs>* stream) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -196,6 +197,9 @@ class WorkerServiceImpl GRPC_FINAL : public WorkerService::Service { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!args.has_setup()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return Status(StatusCode::INVALID_ARGUMENT, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (server_port_ != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      args.mutable_setup()->set_port(server_port_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     auto server = CreateServer(args.setup()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!server) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return Status(StatusCode::INVALID_ARGUMENT, ""); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -219,10 +223,11 @@ class WorkerServiceImpl GRPC_FINAL : public WorkerService::Service { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::mutex mu_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bool acquired_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  int server_port_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-QpsWorker::QpsWorker(int driver_port) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  impl_.reset(new WorkerServiceImpl()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+QpsWorker::QpsWorker(int driver_port, int server_port) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  impl_.reset(new WorkerServiceImpl(server_port)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char* server_address = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_join_host_port(&server_address, "::", driver_port); 
			 |