int main()

in polymetis/src/run_server.cpp [28:69]


int main(int argc, char **argv) {
  // Parse inputs
  InputParser input(argc, argv);

  if (input.cmdOptionExists("-h")) {
    std::cout << "Usage: polymetis_server [OPTION]\n" << std::endl;
    std::cout << "Starts a controller manager server.\n" << std::endl;
    std::cout << "  -h   Help" << std::endl;
    std::cout << "  -r   Use real-time (requires sudo)" << std::endl;
    std::cout << "  -s   Change server address" << std::endl;
    return 0;
  }

  bool use_real_time = false;
  if (input.cmdOptionExists("-r")) {
    use_real_time = true;
  }

  std::string ip = "0.0.0.0";
  if (input.cmdOptionExists("-s")) {
    ip = input.getCmdOption("-s");
  }
  std::string port = "50051";
  if (input.cmdOptionExists("-p")) {
    port = input.getCmdOption("-p");
  }
  std::string server_address = ip + ":" + port;

  std::cout << "Using real time: " << use_real_time << std::endl;
  std::cout << "Using server address: " << server_address << std::endl;

  // Start real-time thread
  void *server_address_ptr = static_cast<void *>(&server_address);

  if (!use_real_time) {
    RunServer(server_address_ptr);
  } else {
    create_real_time_thread(RunServer, server_address_ptr);
  }

  return 0;
}