|  | @@ -140,6 +140,35 @@ ServerBuilder& ServerBuilder::AddListeningPort(
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  std::unique_ptr<Server> ServerBuilder::BuildAndStart() {
 | 
	
		
			
				|  |  | +  ChannelArguments args;
 | 
	
		
			
				|  |  | +  for (auto option = options_.begin(); option != options_.end(); ++option) {
 | 
	
		
			
				|  |  | +    (*option)->UpdateArguments(&args);
 | 
	
		
			
				|  |  | +    (*option)->UpdatePlugins(&plugins_);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  for (auto plugin = plugins_.begin(); plugin != plugins_.end(); plugin++) {
 | 
	
		
			
				|  |  | +    (*plugin)->UpdateChannelArguments(&args);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  if (max_receive_message_size_ >= 0) {
 | 
	
		
			
				|  |  | +    args.SetInt(GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH, max_receive_message_size_);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  if (max_send_message_size_ >= 0) {
 | 
	
		
			
				|  |  | +    args.SetInt(GRPC_ARG_MAX_SEND_MESSAGE_LENGTH, max_send_message_size_);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  args.SetInt(GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET,
 | 
	
		
			
				|  |  | +              enabled_compression_algorithms_bitset_);
 | 
	
		
			
				|  |  | +  if (maybe_default_compression_level_.is_set) {
 | 
	
		
			
				|  |  | +    args.SetInt(GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL,
 | 
	
		
			
				|  |  | +                maybe_default_compression_level_.level);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  if (maybe_default_compression_algorithm_.is_set) {
 | 
	
		
			
				|  |  | +    args.SetInt(GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM,
 | 
	
		
			
				|  |  | +                maybe_default_compression_algorithm_.algorithm);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    // == Determine if the server has any syncrhonous methods ==
 | 
	
		
			
				|  |  |    bool has_sync_methods = false;
 | 
	
		
			
				|  |  |    for (auto it = services_.begin(); it != services_.end(); ++it) {
 | 
	
	
		
			
				|  | @@ -184,36 +213,6 @@ std::unique_ptr<Server> ServerBuilder::BuildAndStart() {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  // == Channel args ==
 | 
	
		
			
				|  |  | -  ChannelArguments args;
 | 
	
		
			
				|  |  | -  for (auto option = options_.begin(); option != options_.end(); ++option) {
 | 
	
		
			
				|  |  | -    (*option)->UpdateArguments(&args);
 | 
	
		
			
				|  |  | -    (*option)->UpdatePlugins(&plugins_);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  for (auto plugin = plugins_.begin(); plugin != plugins_.end(); plugin++) {
 | 
	
		
			
				|  |  | -    (*plugin)->UpdateChannelArguments(&args);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  if (max_receive_message_size_ >= 0) {
 | 
	
		
			
				|  |  | -    args.SetInt(GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH, max_receive_message_size_);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  if (max_send_message_size_ >= 0) {
 | 
	
		
			
				|  |  | -    args.SetInt(GRPC_ARG_MAX_SEND_MESSAGE_LENGTH, max_send_message_size_);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  args.SetInt(GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET,
 | 
	
		
			
				|  |  | -              enabled_compression_algorithms_bitset_);
 | 
	
		
			
				|  |  | -  if (maybe_default_compression_level_.is_set) {
 | 
	
		
			
				|  |  | -    args.SetInt(GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL,
 | 
	
		
			
				|  |  | -                maybe_default_compression_level_.level);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  if (maybe_default_compression_algorithm_.is_set) {
 | 
	
		
			
				|  |  | -    args.SetInt(GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM,
 | 
	
		
			
				|  |  | -                maybe_default_compression_algorithm_.algorithm);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    // TODO (sreek) Make the number of pollers configurable
 | 
	
		
			
				|  |  |    std::unique_ptr<Server> server(
 | 
	
		
			
				|  |  |        new Server(sync_server_cqs, max_receive_message_size_, &args,
 |