int main()

in service/kv_service/kv_server.cpp [52:83]


int main(int argc, char **argv) {
  if (argc < 4) {
    ShowUsage();
    exit(0);
  }

  char *config_file = argv[1];
  char *private_key_file = argv[2];
  char *cert_file = argv[3];
  char *logging_dir = nullptr;

  if (argc >= 6) {
    logging_dir = argv[5];
  }

  if (argc >= 5) {
    auto monitor_port = Stats::GetGlobalStats(5);
    monitor_port->SetPrometheus(argv[4]);
    LOG(ERROR) << "prot:" << argv[4];
  }

  std::unique_ptr<ResDBConfig> config =
      GenerateResDBConfig(config_file, private_key_file, cert_file);
  ResConfigData config_data = config->GetConfigData();

  auto server =
      GenerateResDBServer(config_file, private_key_file, cert_file,
                          std::make_unique<KVServiceTransactionManager>(
                              NewState(cert_file, config_data)),
                          logging_dir);
  server->Run();
}