epoll.cpp 833 B

12345678910111213141516171819202122232425262728293031
  1. #include <iostream>
  2. #include <luna/luna.h>
  3. #include "common.h"
  4. // Main entrypoint
  5. int main(int argc, char **argv) {
  6. if (argc != 3) {
  7. std::cerr << "Usage: " << argv[0] << " port nthreads" << std::endl;
  8. return 1;
  9. }
  10. auto port = static_cast<uint16_t>(std::atoi(argv[1]));
  11. auto threads = static_cast<uint16_t>(std::atoi(argv[2]));
  12. luna::server server{
  13. luna::server::port{port},
  14. luna::server::use_epoll_if_available{true},
  15. luna::server::thread_pool_size{threads},
  16. };
  17. server.handle_request(luna::request_method::GET,
  18. "/plaintext",
  19. plaintext_handler);
  20. server.handle_request(luna::request_method::GET,
  21. "/json",
  22. json_handler);
  23. server.await();
  24. }