in e2e-examples/gcs/sample/main.cc [45:87]
std::shared_ptr<grpc::Channel> CreateBenchmarkGrpcChannel() {
if (absl::GetFlag(FLAGS_access_token).empty()) {
grpc::ChannelArguments channel_args;
channel_args.SetServiceConfigJSON(
"{\"loadBalancingConfig\":[{\"grpclb\":{"
"\"childPolicy\":[{\"pick_first\":{}}]}}]"
"}");
if (!absl::GetFlag(FLAGS_directpath)) {
channel_args.SetInt("grpc.dns_enable_srv_queries",
0); // Disable DirectPath
}
std::shared_ptr<grpc::Channel> channel = grpc::CreateCustomChannel(
std::string(absl::GetFlag(FLAGS_host)),
grpc::GoogleDefaultCredentials(), channel_args);
return channel;
} else {
std::shared_ptr<grpc::ChannelCredentials> credentials;
std::shared_ptr<grpc::ChannelCredentials> channel_credentials =
grpc::SslCredentials(grpc::SslCredentialsOptions());
if (absl::GetFlag(FLAGS_access_token) == "-") {
credentials = channel_credentials;
} else {
std::shared_ptr<grpc::CallCredentials> call_credentials =
grpc::AccessTokenCredentials(
std::string(absl::GetFlag(FLAGS_access_token)));
credentials = grpc::CompositeChannelCredentials(channel_credentials,
call_credentials);
}
std::shared_ptr<grpc::Channel> channel = grpc::CreateChannel(
std::string(absl::GetFlag(FLAGS_host)), credentials);
return channel;
}
grpc::ChannelArguments channel_args;
channel_args.SetServiceConfigJSON(
"{\"loadBalancingConfig\":[{\"grpclb\":{"
"\"childPolicy\":[{\"pick_first\":{}}]}}]"
"}");
std::shared_ptr<grpc::Channel> channel =
grpc::CreateCustomChannel(std::string(absl::GetFlag(FLAGS_host)),
grpc::GoogleDefaultCredentials(), channel_args);
return channel;
}