xref: /aosp_15_r20/external/pytorch/torch/csrc/distributed/c10d/control_plane/WorkerServer.hpp (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
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