UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OnDemandIoDispatcherBackend.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8
10
11namespace UE::IoStore
12{
13
14class FOnDemandIoStore;
15class FOnDemandHttpThread;
16class IAnalyticsRecording;
17class IIasCache;
18struct FOnDemandStreamingCacheUsage;
19
21{
22 FString EndpointUrl;
23 FString FallbackUrl;
24
25 bool IsValid() const
26 {
27 return !EndpointUrl.IsEmpty();
28 }
29
30 bool HasFallbackUrl() const
31 {
32 return !FallbackUrl.IsEmpty();
33 }
34
35 void Reset()
36 {
37 EndpointUrl.Empty();
38 FallbackUrl.Empty();
39 }
40};
41
43{
45 FString FallbackUrl;
46
48 FString TocPath;
49 FString TocFilePath;
50
51 bool IsValid() const
52 {
53 return (DistributionUrl.Len() > 0 || ServiceUrls.Num() > 0) && TocPath.Len() > 0;
54 }
55
56 bool RequiresTls() const
57 {
58 auto IsHttps = [](FStringView Url) -> bool { return Url.StartsWith(TEXTVIEW("https"), ESearchCase::IgnoreCase); };
59
61 {
62 return true;
63 }
64 for (const FString& Url : ServiceUrls)
65 {
66 if (IsHttps(Url))
67 {
68 return true;
69 }
70 }
71
72 return false;
73 }
74};
75
87
89 const FOnDemandEndpointConfig& Config,
90 FOnDemandIoStore& IoStore,
91 FOnDemandHttpThread& HttpClient,
92 TUniquePtr<IIasCache>&& Cache);
93
94} // namespace UE::IoStore
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define TEXTVIEW(str)
Definition StringView.h:553
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition SharedPointer.h:692
Definition UniquePtr.h:107
Definition OnDemandHttpThread.h:65
Definition OnDemandIoStore.h:332
Definition OnDemandIoDispatcherBackend.h:78
virtual void SetBulkOptionalEnabled(bool bInEnabled)=0
virtual void ReportAnalytics(TArray< FAnalyticsEventAttribute > &OutAnalyticsArray) const =0
virtual FOnDemandStreamingCacheUsage GetCacheUsage() const =0
virtual TUniquePtr< IAnalyticsRecording > StartAnalyticsRecording() const =0
@ IgnoreCase
Definition CString.h:26
NO_LOGGING.
Definition Client.h:20
TSharedPtr< IOnDemandIoDispatcherBackend > MakeOnDemandIoDispatcherBackend(const FOnDemandEndpointConfig &Config, FOnDemandIoStore &IoStore, FOnDemandHttpThread &HttpClient, TUniquePtr< IIasCache > &&Cache)
Definition OnDemandIoDispatcherBackend.cpp:1342
Definition AnalyticsEventAttribute.h:48
Definition IoDispatcherBackend.h:186
Definition OnDemandIoDispatcherBackend.h:21
void Reset()
Definition OnDemandIoDispatcherBackend.h:35
FString FallbackUrl
Definition OnDemandIoDispatcherBackend.h:23
bool HasFallbackUrl() const
Definition OnDemandIoDispatcherBackend.h:30
bool IsValid() const
Definition OnDemandIoDispatcherBackend.h:25
FString EndpointUrl
Definition OnDemandIoDispatcherBackend.h:22
Definition OnDemandIoDispatcherBackend.h:43
TArray< FString > ServiceUrls
Definition OnDemandIoDispatcherBackend.h:47
FString DistributionUrl
Definition OnDemandIoDispatcherBackend.h:44
FString FallbackUrl
Definition OnDemandIoDispatcherBackend.h:45
bool RequiresTls() const
Definition OnDemandIoDispatcherBackend.h:56
FString TocPath
Definition OnDemandIoDispatcherBackend.h:48
bool IsValid() const
Definition OnDemandIoDispatcherBackend.h:51
FString TocFilePath
Definition OnDemandIoDispatcherBackend.h:49
Definition IoStoreOnDemand.h:502