UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChunkDbChunkSource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
6#include "Containers/Set.h"
8
10
11namespace BuildPatchServices
12{
13 class IFileSystem;
14 class IChunkReferenceTracker;
15 class IChunkDataSerialization;
16 class IChunkDbChunkSourceStat;
17 class IBuildManifestSet;
18
19
24 {
25 // An array of chunkdb full file paths.
27
28 // If true, once we complete a file we delete all the chunkdbs used to create it.
30
38 };
39
44 {
45 public:
47
52 virtual const TSet<FGuid>& GetAvailableChunks() const = 0;
53
54 // Fill out how many bytes of chunkdbs are left if we delete all the ones that
55 // are no longer necessary at the given FileCompletionIndexes in to ChunkAccessOrderedList
57
58 // As above, except use the remaining open chunkdbs for progressive disk space checking.
60
62
64 IChunkDataSerialization* ChunkDataSerialization, IChunkDbChunkSourceStat* ChunkDbChunkSourceStat);
65 };
66
72 {
73 public:
77 enum class ELoadResult : uint8
78 {
79 Success = 0,
80
81 // The hash information was missing.
83
84 // The expected data hash for the chunk did not match.
86
87 // The chunkdb header specified an invalid chunk location offset or size.
89
90 // An unexpected error during serialization. This includes header validation
91 // checks like whether the hash is present.
93
94 // Either the hash didn't match or the decompression call failed.
96 };
97
98 public:
100
105 UE_DEPRECATED(5.6, "No longer batch loaded")
106 virtual void OnBatchStarted(const TArray<FGuid>& ChunkIds) {};
107
112 virtual void OnLoadStarted(const FGuid& ChunkId) = 0;
113
119 virtual void OnLoadComplete(const FGuid& ChunkId, ELoadResult Result) = 0;
120
121 // Called when the read for the load is complete and we're moving on to decompression/hashing.
122 virtual void OnReadComplete(const ISpeedRecorder::FRecord& Record) = 0;
123 };
124
128 const TCHAR* ToString(const IChunkDbChunkSourceStat::ELoadResult& LoadResult);
129}
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ChunkDbChunkSource.h:72
virtual void OnBatchStarted(const TArray< FGuid > &ChunkIds)
Definition ChunkDbChunkSource.h:106
virtual void OnReadComplete(const ISpeedRecorder::FRecord &Record)=0
virtual void OnLoadStarted(const FGuid &ChunkId)=0
virtual void OnLoadComplete(const FGuid &ChunkId, ELoadResult Result)=0
ELoadResult
Definition ChunkDbChunkSource.h:78
virtual ~IChunkDbChunkSourceStat()
Definition ChunkDbChunkSource.h:99
Definition ChunkDbChunkSource.h:44
virtual void ReportFileCompletion(int32 RemainingChunkCount)=0
static uint64 GetChunkDbSizesAtIndexes(const TArray< FString > &ChunkDbFiles, IFileSystem *FileSystem, const TArray< FGuid > &ChunkAccessOrderedList, const TArray< int32 > &FileCompletionIndexes, TArray< uint64 > &OutChunkDbSizesAtCompletion)
Definition ChunkDbChunkSource.cpp:300
virtual const TSet< FGuid > & GetAvailableChunks() const =0
static IConstructorChunkDbChunkSource * CreateChunkDbSource(FChunkDbSourceConfig &&Configuration, IFileSystem *FileSystem, const TArray< FGuid > &ChunkAccessOrderList, IChunkDataSerialization *ChunkDataSerialization, IChunkDbChunkSourceStat *ChunkDbChunkSourceStat)
Definition ChunkDbChunkSource.cpp:403
virtual uint64 GetChunkDbSizesAtIndexes(const TArray< int32 > &FileCompletionIndexes, TArray< uint64 > &OutChunkDbSizesAtCompletion) const =0
virtual ~IConstructorChunkDbChunkSource()
Definition ChunkDbChunkSource.h:46
Definition FileSystem.h:51
Definition IBuildInstallerSharedContext.h:33
Definition Array.h:670
Definition BuildPatchFileConstructor.h:28
Definition ChunkDbChunkSource.h:24
FChunkDbSourceConfig(const TArray< FString > &InChunkDbFiles)
Definition ChunkDbChunkSource.h:35
bool bDeleteChunkDBAfterUse
Definition ChunkDbChunkSource.h:29
TArray< FString > ChunkDbFiles
Definition ChunkDbChunkSource.h:26
Definition SpeedRecorder.h:18
Definition Guid.h:109