diff options
author | Sree Kuchibhotla <sreek@google.com> | 2017-07-25 14:08:33 -0700 |
---|---|---|
committer | Sree Kuchibhotla <sreek@google.com> | 2017-07-25 14:08:33 -0700 |
commit | 59beeff53158d0f27337e7305c730f0835de2f58 (patch) | |
tree | fa27404847048c476f094681b3c7d102f3f828b8 /test/cpp/qps/server.h | |
parent | b633a86e1a39c9d3bb74a226a6174b88683ca372 (diff) | |
parent | ad5a9c2a0db1926eaec110a7fe573875840c6ce3 (diff) |
Merge branch 'master' into fix_alarm
Diffstat (limited to 'test/cpp/qps/server.h')
-rw-r--r-- | test/cpp/qps/server.h | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/test/cpp/qps/server.h b/test/cpp/qps/server.h index a3b4d7d241..c0dac96d8b 100644 --- a/test/cpp/qps/server.h +++ b/test/cpp/qps/server.h @@ -19,8 +19,11 @@ #ifndef TEST_QPS_SERVER_H #define TEST_QPS_SERVER_H +#include <grpc++/resource_quota.h> #include <grpc++/security/server_credentials.h> +#include <grpc++/server_builder.h> #include <grpc/support/cpu.h> +#include <grpc/support/log.h> #include <vector> #include "src/core/lib/surface/completion_queue.h" @@ -29,6 +32,7 @@ #include "test/core/end2end/data/ssl_test_data.h" #include "test/core/util/port.h" #include "test/cpp/qps/usage_timer.h" +#include "test/cpp/util/test_credentials_provider.h" namespace grpc { namespace testing { @@ -86,12 +90,14 @@ class Server { static std::shared_ptr<ServerCredentials> CreateServerCredentials( const ServerConfig& config) { if (config.has_security_params()) { - SslServerCredentialsOptions::PemKeyCertPair pkcp = {test_server1_key, - test_server1_cert}; - SslServerCredentialsOptions ssl_opts; - ssl_opts.pem_root_certs = ""; - ssl_opts.pem_key_cert_pairs.push_back(pkcp); - return SslServerCredentials(ssl_opts); + grpc::string type; + if (config.security_params().cred_type().empty()) { + type = kTlsCredentialsType; + } else { + type = config.security_params().cred_type(); + } + + return GetCredentialsProvider()->GetServerCredentials(type); } else { return InsecureServerCredentials(); } @@ -102,6 +108,31 @@ class Server { return 0; } + protected: + static void ApplyConfigToBuilder(const ServerConfig& config, + ServerBuilder* builder) { + if (config.resource_quota_size() > 0) { + builder->SetResourceQuota(ResourceQuota("AsyncQpsServerTest") + .Resize(config.resource_quota_size())); + } + for (const auto& channel_arg : config.channel_args()) { + switch (channel_arg.value_case()) { + case ChannelArg::kStrValue: + builder->AddChannelArgument(channel_arg.name(), + channel_arg.str_value()); + break; + case ChannelArg::kIntValue: + builder->AddChannelArgument(channel_arg.name(), + channel_arg.int_value()); + break; + case ChannelArg::VALUE_NOT_SET: + gpr_log(GPR_ERROR, "Channel arg '%s' does not have a value", + channel_arg.name().c_str()); + break; + } + } + } + private: int port_; int cores_; |