1 #pragma once 2 3 #include <string> 4 #include <thread> 5 6 #include <c10/util/intrusive_ptr.h> 7 #include <torch/csrc/distributed/c10d/control_plane/Handlers.hpp> 8 9 C10_DIAGNOSTIC_PUSH_AND_IGNORED_IF_DEFINED("-Wdeprecated-literal-operator") 10 #include <httplib.h> 11 C10_DIAGNOSTIC_POP() 12 13 namespace c10d::control_plane { 14 15 class TORCH_API WorkerServer : public c10::intrusive_ptr_target { 16 public: 17 WorkerServer(const std::string& hostOrFile, int port = -1); 18 ~WorkerServer() override; 19 20 void shutdown(); 21 22 private: 23 httplib::Server server_; 24 std::thread serverThread_; 25 }; 26 27 } // namespace c10d::control_plane 28