UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IBuildStatistics.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "Misc/Guid.h"
6
7namespace BuildPatchServices
8{
9 struct FBuildInstallerConfiguration;
10 enum class EVerifyError : uint32;
11
16 {
17 // Not yet evaluated.
18 Unknown = 0,
19
20 // The data for this operation has not yet been requested (from a local chunkdb source).
21 PendingLocalChunkDbData,
22
23 // The data is being acquired (from a local chunkdb source).
24 RetrievingLocalChunkDbData,
25
26 // The data for this operation has not yet been requested (from a local install source).
27 PendingLocalInstallData,
28
29 // The data is being acquired (from a local install source).
30 RetrievingLocalInstallData,
31
32 // The data for this operation has not yet been requested (from a remote cloud source).
33 PendingRemoteCloudData,
34
35 // The data is being acquired (from a remote cloud source).
36 RetrievingRemoteCloudData,
37
38 // The data is in a local store to be loaded later.
39 PendingLocalDataStore,
40
41 // The data is being acquired (from a local store).
42 RetrievingLocalDataStore,
43
44 // The data is in a memory chunk store ready for use.
45 DataInMemoryStore,
46
47 // The file operation has been written to the staging location.
48 Staged,
49
50 // The file operation has been written to the destination install location.
52
53 // The file operation is being verified.
54 Verifying,
55
56 // The file operation has been verified and is corrupt.
57 VerifiedFail,
58
59 // The file operation has been verified and successful.
60 VerifiedSuccess,
61
62 // Helpers.
63 NUM_States,
64 Complete = NUM_States - 1
65 };
66
71 {
72 public:
73 FFileOperation(FString Filename, const FGuid& DataId, uint64 Offest, uint64 Size, EFileOperationState CurrentState);
75
76 public:
77 // The build filename where this data section goes.
78 FString Filename;
79 // The idea of the chunk where the data is taken from.
81 // The offset into the file.
83 // The size of the data to write.
85 // The current state of this operation.
86 EFileOperationState CurrentState;
87 };
88
92 struct FDownload
93 {
94 // The uri for the download.
95 FString Data;
96 // The size of the download.
98 // The amount of data received so far.
100 };
101
106 {
107 public:
111 virtual ~IBuildStatistics() { }
112
117
121 virtual int64 GetDownloadSize() const = 0;
122
126 virtual int64 GetBuildSize() const = 0;
127
131 UE_DEPRECATED(5.6, "Appears to be unused, not replaced")
133
137 UE_DEPRECATED(5.6, "Appears to be unused, not replaced")
139
143 UE_DEPRECATED(5.6, "Appears to be unused, not replaced")
144 virtual int32 GetMemoryChunksBooted() const { return 0; }
145
149 UE_DEPRECATED(5.6, "Appears to be unused, not replaced")
151
155 virtual FString GetCurrentWorkingFileName() const = 0;
156
160 virtual float GetCurrentWorkingFileProgress() const = 0;
161
165 virtual FGuid GetCurrentWorkingData() const = 0;
166
171
175 virtual bool IsDownloadActive() const = 0;
176
180 virtual bool IsHardDiskActiveAdministering() const = 0;
181
185 virtual bool IsHardDiskActiveWrite() const = 0;
186
190 virtual bool IsHardDiskActiveRead() const = 0;
191
196
200 virtual double GetDownloadByteSpeed() const = 0;
201
205 virtual double GetDiskReadByteSpeed() const = 0;
206
210 UE_DEPRECATED(5.6, "Chunk db read speeds now included in DiskReadByteSpeed")
211 double GetChunkDbReadByteSpeed() const { return 0; }
212
216 virtual double GetDiskWriteByteSpeed() const = 0;
217
221 virtual int32 GetNumVerifyErrors() const = 0;
222
227 };
228
231}
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition IBuildStatistics.h:106
virtual bool IsHardDiskActiveRead() const =0
virtual float GetCurrentWorkingFileProgress() const =0
virtual int32 GetMemoryChunkStoreSize() const
Definition IBuildStatistics.h:132
virtual int64 GetDownloadSize() const =0
virtual double GetDiskWriteByteSpeed() const =0
virtual double GetDownloadByteSpeed() const =0
virtual const FBuildInstallerConfiguration & GetConfiguration() const =0
virtual FString GetCurrentWorkingFileName() const =0
virtual TMap< EVerifyError, int32 > GetVerifyErrorCounts() const =0
virtual ~IBuildStatistics()
Definition IBuildStatistics.h:111
virtual bool IsHardDiskActiveWrite() const =0
virtual int64 GetBuildSize() const =0
virtual int32 GetNumVerifyErrors() const =0
virtual double GetDiskReadByteSpeed() const =0
double GetChunkDbReadByteSpeed() const
Definition IBuildStatistics.h:211
virtual int32 GetMemoryChunksRetained() const
Definition IBuildStatistics.h:150
virtual bool IsDownloadActive() const =0
virtual FGuid GetCurrentWorkingData() const =0
virtual TArray< FDownload > GetCurrentDownloads() const =0
virtual int32 GetMemoryChunksBooted() const
Definition IBuildStatistics.h:144
virtual int32 GetMemoryChunksInStore() const
Definition IBuildStatistics.h:138
virtual const TArray< FFileOperation > & GetFileOperationStates() const =0
virtual bool IsHardDiskActiveAdministering() const =0
EFileOperationState
Definition IBuildStatistics.h:16
TSharedPtr< IBuildStatistics > IBuildStatisticsPtr
Definition IBuildStatistics.h:229
EVerifyError
Definition BuildPatchVerify.h:33
TSharedRef< IBuildStatistics > IBuildStatisticsRef
Definition IBuildStatistics.h:230
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition BuildPatchFileConstructor.h:28
Definition BuildPatchSettings.h:253
Definition IBuildStatistics.h:93
int64 Size
Definition IBuildStatistics.h:97
FString Data
Definition IBuildStatistics.h:95
int64 Received
Definition IBuildStatistics.h:99
Definition IBuildStatistics.h:71
FString Filename
Definition IBuildStatistics.h:78
~FFileOperation()
Definition BuildStatistics.cpp:24
uint64 Size
Definition IBuildStatistics.h:84
EFileOperationState CurrentState
Definition IBuildStatistics.h:86
FGuid DataId
Definition IBuildStatistics.h:80
uint64 Offest
Definition IBuildStatistics.h:82
Definition Guid.h:109