#include "config/config.hpp" #include "server/Pollable.hpp" #include "server/Server.hpp" #include "loop.hpp" #include int main(int argc, char **argv) { std::vector s; try { parse_args(argc, argv, s); } catch (std::exception &e) { std::cerr << "Parsing failed cause : \n" << e.what() << std::endl; return (1); } std::cout << "Parsed " << s.size() << " servers" << std::endl; if (s.size() == 0) { std::cerr << "Caca prout de parsing de con" << std::endl; return (17); } std::vector pollables; for (auto it = s.begin(); it != s.end(); ++it) pollables.push_back(new Server(*it)); int exitCode = 0; try { run(pollables); } catch (std::exception &e) { std::cerr << "Error while running server: \n" << e.what() << std::endl; exitCode = 1; } for (auto it = pollables.rbegin(); it != pollables.rend(); ++it) { (*it)->disconnect(); delete *it; } return (exitCode); }