in e2e-examples/gcs/dummy_server/main.cc [162:196]
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
const std::string cred = absl::GetFlag(FLAGS_cred);
if (cred == "insecure") {
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
} else if (cred == "ssl") {
grpc::SslServerCredentialsOptions::PemKeyCertPair key_cert_pair = {
LoadStringFromFile(absl::GetFlag(FLAGS_ssl_key)),
LoadStringFromFile(absl::GetFlag(FLAGS_ssl_cert))};
grpc::SslServerCredentialsOptions ssl_options;
ssl_options.pem_key_cert_pairs.emplace_back(key_cert_pair);
builder.AddListeningPort(server_address,
grpc::SslServerCredentials(ssl_options));
} else if (cred == "alts") {
grpc::experimental::AltsServerCredentialsOptions alts_opts;
builder.AddListeningPort(
server_address, grpc::experimental::AltsServerCredentials(alts_opts));
} else {
std::cout << "Unknown cred type: " << cred << std::endl;
exit(1);
}
StorageServiceImpl service;
builder.RegisterService(&service);
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
server->Wait();
}