UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UploadQueue.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#if defined(UE_WITH_IAS_TOOL)
6
7
8#include "IO/IoBuffer.h"
9
10#include <Async/Future.h>
11#include <Containers/Array.h>
12#include <Containers/Queue.h>
16
17
18
19namespace UE
20{
21 class FS3Client;
22}
23
24namespace UE::IoStore::Tool {
25
27// s3 upload helper....
28class FUploadQueue
29{
30public:
31 FUploadQueue(UE::FS3Client& Client, const FString& Bucket, int32 ThreadCount);
32 bool Enqueue(FStringView Key, FIoBuffer Payload);
33 bool Flush();
34
35private:
36 void ThreadEntry();
37
38 struct FQueueEntry
39 {
40 FString Key;
41 FIoBuffer Payload;
42 };
43
44 UE::FS3Client& Client;
46 FString Bucket;
47 FCriticalSection CriticalSection;
49 FEventRef WakeUpEvent;
51 std::atomic_int32_t ConcurrentUploads{ 0 };
52 std::atomic_int32_t ActiveThreadCount{ 0 };
53 std::atomic_int32_t ErrorCount{ 0 };
54 std::atomic_bool bCompleteAdding{ false };
55};
56
57} // namespace UE::IoStore::Tool
58
59#endif // UE_WITH_IAS_TOOL
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
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition Event.h:135
Definition IoBuffer.h:15
Definition Array.h:670
Definition Queue.h:48
@ ErrorCount
Definition AutomationAnalyticParams.h:41
Definition AdvancedWidgetsModule.cpp:13