aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/include
diff options
context:
space:
mode:
authorzousar <[email protected]>2025-09-22 16:38:15 -0600
committerzousar <[email protected]>2025-09-22 16:38:15 -0600
commit1c591941878e5c5009d51a82ff61986a63bd2e11 (patch)
tree3860ab5ebddf1919aab3cca019422fa76cfcdda4 /src/zenutil/include
parentChange batch put responses for client reporting (diff)
parent5.7.2-pre1 (diff)
downloadzen-1c591941878e5c5009d51a82ff61986a63bd2e11.tar.xz
zen-1c591941878e5c5009d51a82ff61986a63bd2e11.zip
Merge branch 'main' into zs/put-overwrite-policy-response
Diffstat (limited to 'src/zenutil/include')
-rw-r--r--src/zenutil/include/zenutil/buildstoragecache.h9
-rw-r--r--src/zenutil/include/zenutil/jupiter/jupiterbuildstorage.h7
-rw-r--r--src/zenutil/include/zenutil/jupiter/jupiterhost.h35
3 files changed, 51 insertions, 0 deletions
diff --git a/src/zenutil/include/zenutil/buildstoragecache.h b/src/zenutil/include/zenutil/buildstoragecache.h
index a0690a16a..e6ca2c5e4 100644
--- a/src/zenutil/include/zenutil/buildstoragecache.h
+++ b/src/zenutil/include/zenutil/buildstoragecache.h
@@ -57,4 +57,13 @@ std::unique_ptr<BuildStorageCache> CreateZenBuildStorageCache(HttpClient& H
std::string_view Bucket,
const std::filesystem::path& TempFolderPath,
bool BoostBackgroundThreadCount);
+
+struct ZenCacheEndpointTestResult
+{
+ bool Success = false;
+ std::string FailureReason;
+};
+
+ZenCacheEndpointTestResult TestZenCacheEndpoint(std::string_view BaseUrl, const bool AssumeHttp2);
+
} // namespace zen
diff --git a/src/zenutil/include/zenutil/jupiter/jupiterbuildstorage.h b/src/zenutil/include/zenutil/jupiter/jupiterbuildstorage.h
index bbf070993..f25d8933b 100644
--- a/src/zenutil/include/zenutil/jupiter/jupiterbuildstorage.h
+++ b/src/zenutil/include/zenutil/jupiter/jupiterbuildstorage.h
@@ -15,4 +15,11 @@ std::unique_ptr<BuildStorage> CreateJupiterBuildStorage(LoggerRef InLog,
std::string_view Bucket,
bool AllowRedirect,
const std::filesystem::path& TempFolderPath);
+
+bool ParseBuildStorageUrl(std::string_view InUrl,
+ std::string& OutHost,
+ std::string& OutNamespace,
+ std::string& OutBucket,
+ std::string& OutBuildId);
+
} // namespace zen
diff --git a/src/zenutil/include/zenutil/jupiter/jupiterhost.h b/src/zenutil/include/zenutil/jupiter/jupiterhost.h
new file mode 100644
index 000000000..3bbc700b8
--- /dev/null
+++ b/src/zenutil/include/zenutil/jupiter/jupiterhost.h
@@ -0,0 +1,35 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include <string>
+#include <string_view>
+#include <vector>
+
+namespace zen {
+
+struct HttpClientSettings;
+
+struct JupiterServerDiscovery
+{
+ struct EndPoint
+ {
+ std::string Name;
+ std::string BaseUrl;
+ bool AssumeHttp2 = false;
+ };
+ std::vector<EndPoint> ServerEndPoints;
+ std::vector<EndPoint> CacheEndPoints;
+};
+
+JupiterServerDiscovery DiscoverJupiterEndpoints(std::string_view Host, const HttpClientSettings& ClientSettings);
+
+struct JupiterEndpointTestResult
+{
+ bool Success = false;
+ std::string FailureReason;
+};
+
+JupiterEndpointTestResult TestJupiterEndpoint(std::string_view BaseUrl, const bool AssumeHttp2);
+
+} // namespace zen