UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GenericPlatformIoDispatcher.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/List.h"
7#include "Templates/Tuple.h"
8#include "HAL/Runnable.h"
9#include "Containers/Map.h"
10#include "IO/IoDispatcher.h"
13
15{
16public:
19 void ServiceNotify();
20 void ServiceWait();
21
22private:
23 FEvent* ServiceEvent = nullptr;
24};
25
27{
28public:
32 {
33 WakeUpDispatcherThreadDelegate = Params.WakeUpDispatcherThreadDelegate;
34 BufferAllocator = Params.BufferAllocator;
35 BlockCache = Params.BlockCache;
36 Stats = Params.Stats;
37 }
44 bool StartRequests(FFileIoStoreRequestQueue& RequestQueue) override;
46
47 virtual void ServiceNotify() override
48 {
49 EventQueue.ServiceNotify();
50 }
51 virtual void ServiceWait() override
52 {
53 EventQueue.ServiceWait();
54 }
55private:
56 const FWakeUpIoDispatcherThreadDelegate* WakeUpDispatcherThreadDelegate = nullptr;
58 FFileIoStoreBufferAllocator* BufferAllocator = nullptr;
59 FFileIoStoreBlockCache* BlockCache = nullptr;
60 FFileIoStoreStats* Stats = nullptr;
61 FFileIoStoreBuffer* AcquiredBuffer = nullptr;
62
63 FCriticalSection CompletedRequestsCritical;
64 FFileIoStoreReadRequestList CompletedRequests;
65#if COUNTERSTRACE_ENABLED
67#endif
68};
69
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition Event.h:21
Definition IoDispatcherFileBackendTypes.h:563
Definition IoDispatcherFileBackendTypes.h:542
Definition IoDispatcherFileBackendTypes.h:318
Definition IoDispatcherFileBackendTypes.h:643
Definition IoDispatcherFileBackendTypes.h:893
Definition GenericPlatformIoDispatcher.h:15
void ServiceWait()
Definition GenericPlatformIoDispatcher.cpp:45
~FGenericFileIoStoreEventQueue()
Definition GenericPlatformIoDispatcher.cpp:35
void ServiceNotify()
Definition GenericPlatformIoDispatcher.cpp:40
FGenericFileIoStoreEventQueue()
Definition GenericPlatformIoDispatcher.cpp:30
Definition GenericPlatformIoDispatcher.h:27
void GetCompletedRequests(FFileIoStoreReadRequestList &OutRequests) override
Definition GenericPlatformIoDispatcher.cpp:179
bool CreateCustomRequests(FFileIoStoreResolvedRequest &ResolvedRequest, FFileIoStoreReadRequestList &OutRequests) override
Definition GenericPlatformIoDispatcher.h:40
void Initialize(const FInitializePlatformFileIoStoreParams &Params) override
Definition GenericPlatformIoDispatcher.h:31
~FGenericFileIoStoreImpl()
Definition GenericPlatformIoDispatcher.cpp:54
FGenericFileIoStoreImpl()
Definition GenericPlatformIoDispatcher.cpp:50
virtual void ServiceNotify() override
Definition GenericPlatformIoDispatcher.h:47
virtual void ServiceWait() override
Definition GenericPlatformIoDispatcher.h:51
void CloseContainer(uint64 ContainerFileHandle) override
Definition GenericPlatformIoDispatcher.cpp:85
bool OpenContainer(const TCHAR *ContainerFilePath, uint64 &ContainerFileHandle, uint64 &ContainerFileSize) override
Definition GenericPlatformIoDispatcher.cpp:58
bool StartRequests(FFileIoStoreRequestQueue &RequestQueue) override
Definition GenericPlatformIoDispatcher.cpp:92
Definition IoDispatcherFileBackendTypes.h:931
Definition IoDispatcherFileBackendTypes.h:71
Definition IoDispatcherFileBackendTypes.h:772
Definition IoDispatcherFileBackendTypes.h:922