UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IasHostGroup.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "IO/IoStatus.h"
10
11namespace UE::IoStore
12{
13
14class FOnDemandHostGroup;
15
16class FIASHostGroup final
17{
18 struct FImpl;
20
21public:
24
28 ~FIASHostGroup() = default;
29
30 FName GetName() const;
31 const FAnsiString& GetTestPath() const;
32
33 bool IsResolved() const;
34 bool IsConnected() const;
35
38
39 void Connect(int32 HostIndex);
40 void Disconnect();
41
43 {
47 };
48
49 EReconnectionResult AttemptReconnection(uint32 TimeoutMs, std::atomic_bool& CancellationToken);
50
52 bool OnFailedResponse();
53
56
58
60private:
61 FIASHostGroup(FSharedImpl&& Impl);
62
63 void SetPrimaryHost(int32 Index) const;
64
65 FSharedImpl Impl;
66
67};
68
70{
71 FHostGroupManager() = default;
72 ~FHostGroupManager() = default;
73
74public:
76
77 static FHostGroupManager& Get();
78
79 // TODO: Note that currently we have no way to remove FIASHostGroups
80
81 TIoStatusOr<FIASHostGroup> Register(FName Name, FAnsiStringView TestPath); // <- Unresolved
83
85
86 void ForEachHostGroup(TFunctionRef<void (const FIASHostGroup&)> Callback) const;
87
88 void Tick(uint32 TimeoutMs, std::atomic_bool& CancellationToken);
89
90 void DisconnectAll();
92
94 {
95 return HostGroupDisconnectedDelegate;
96 }
97
98private:
99
100 TArray<FIASHostGroup> HostGroups;
101
102 FOnHostGroupDisconnectedDelegate HostGroupDisconnectedDelegate;
103
104 mutable FRWLock Mutex;
105};
106
107} //namespace UE::IoStore
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition IoStatus.h:60
Definition NameTypes.h:617
Definition Array.h:670
Definition AssetRegistryState.h:50
Definition IoStatus.h:101
Definition CriticalSection.h:14
Definition IasHostGroup.h:70
DECLARE_TS_MULTICAST_DELEGATE(FOnHostGroupDisconnectedDelegate)
void Tick(uint32 TimeoutMs, std::atomic_bool &CancellationToken)
Definition IasHostGroup.cpp:366
static FHostGroupManager & Get()
Definition IasHostGroup.cpp:306
void ForEachHostGroup(TFunctionRef< void(const FIASHostGroup &)> Callback) const
Definition IasHostGroup.cpp:356
FOnHostGroupDisconnectedDelegate & OnHostGroupDisconncted()
Definition IasHostGroup.h:93
void DisconnectAll()
Definition IasHostGroup.cpp:381
uint32 GetNumDisconnctedHosts() const
Definition IasHostGroup.cpp:390
Definition IasHostGroup.h:17
int32 GetPrimaryHostIndex() const
Definition IasHostGroup.cpp:296
bool IsConnected() const
Definition IasHostGroup.cpp:157
FName GetName() const
Definition IasHostGroup.cpp:142
FAnsiStringView GetPrimaryHostUrl() const
Definition IasHostGroup.cpp:291
EReconnectionResult AttemptReconnection(uint32 TimeoutMs, std::atomic_bool &CancellationToken)
Definition IasHostGroup.cpp:219
bool IsResolved() const
Definition IasHostGroup.cpp:152
TConstArrayView< FAnsiString > GetHostUrls() const
Definition IasHostGroup.cpp:301
bool OnFailedResponse()
Definition IasHostGroup.cpp:259
void OnSuccessfulResponse()
Definition IasHostGroup.cpp:254
const FOnDemandHostGroup & GetUnderlyingHostGroup() const
Definition IasHostGroup.cpp:281
const FAnsiString & GetTestPath() const
Definition IasHostGroup.cpp:147
EReconnectionResult
Definition IasHostGroup.h:43
void Disconnect()
Definition IasHostGroup.cpp:209
FIASHostGroup()
Definition IasHostGroup.cpp:122
Definition OnDemandHostGroup.h:18
Definition ExpressionParserTypes.h:21
NO_LOGGING.
Definition Client.h:20
U16 Index
Definition radfft.cpp:71
Definition IasHostGroup.cpp:64