aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/compute/computeservice.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/compute/computeservice.h')
-rw-r--r--src/zenserver/compute/computeservice.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/zenserver/compute/computeservice.h b/src/zenserver/compute/computeservice.h
new file mode 100644
index 000000000..339200dd8
--- /dev/null
+++ b/src/zenserver/compute/computeservice.h
@@ -0,0 +1,36 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include <zenhttp/httpserver.h>
+
+#if ZEN_WITH_COMPUTE_SERVICES
+namespace zen {
+
+/** ZenServer Compute Service
+ *
+ * Manages a set of compute workers for use in UEFN content worker
+ *
+ */
+class HttpComputeService : public zen::HttpService
+{
+public:
+ HttpComputeService(std::filesystem::path BaseDir);
+ ~HttpComputeService();
+
+ HttpComputeService(const HttpComputeService&) = delete;
+ HttpComputeService& operator=(const HttpComputeService&) = delete;
+
+ virtual const char* BaseUri() const override;
+ virtual void HandleRequest(zen::HttpServerRequest& Request) override;
+
+private:
+ HttpRequestRouter m_Router;
+
+ struct Impl;
+
+ std::unique_ptr<Impl> m_Impl;
+};
+
+} // namespace zen
+#endif // ZEN_WITH_COMPUTE_SERVICES