void RunServer()

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();
}