UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AppleEventLoopHttpThread.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6
10#include "Misc/Timespan.h"
11#include "Misc/MonotonicTime.h"
12
13#include "EventLoopHttpThread.h"
14
16{
17public:
22
23 void Notify()
24 {
25 SharedEvent->Notify();
26 }
27
28private:
30};
31
33{
34public:
36
41
43 : Event(MakeShared<UE::FManualResetEvent>())
44 , IOAccess(Event)
45 , Params(MoveTemp(Params))
46 {
47 }
48
49 virtual ~FAppleHTTPIOManager() = default;
50
51 virtual bool Init() override
52 {
53 return true;
54 }
55
56 virtual void Shutdown() override
57 {
58 }
59
60 virtual void Notify() override
61 {
62 Event->Notify();
63 }
64
65 virtual void Poll(FTimespan WaitTime) override
66 {
68 {
69 Event->Reset();
70 Params.ProcessRequests();
71 }
72 }
73
75 {
76 return IOAccess;
77 }
78
79private:
81 FIOAccess IOAccess;
82 FParams Params;
83};
84
87{
88protected:
89 //~ Begin FHttpThread Interface
90 virtual bool StartThreadedRequest(FHttpRequestCommon* Request) override;
91 virtual void CompleteThreadedRequest(FHttpRequestCommon* Request) override;
92 //~ End FHttpThread Interface
93protected:
94 virtual void CreateEventLoop() override;
95 virtual void DestroyEventLoop() override;
96 virtual void UpdateEventLoopConfigs() override;
97
98 virtual UE::EventLoop::IEventLoop* GetEventLoop() override;
100
102};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
TSharedRef< InObjectType, InMode > MakeShared(InArgTypes &&... Args)
Definition SharedPointer.h:2009
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition EventLoop.Build.cs:6
Definition AppleEventLoopHttpThread.h:87
virtual void CreateEventLoop() override
Definition AppleEventLoopHttpThread.cpp:22
virtual UE::EventLoop::IEventLoop * GetEventLoop() override
Definition AppleEventLoopHttpThread.cpp:43
virtual UE::EventLoop::IEventLoop & GetEventLoopChecked() override
Definition AppleEventLoopHttpThread.cpp:48
virtual void CompleteThreadedRequest(FHttpRequestCommon *Request) override
Definition AppleEventLoopHttpThread.cpp:18
virtual void UpdateEventLoopConfigs() override
Definition AppleEventLoopHttpThread.cpp:39
TOptional< UE::EventLoop::TEventLoop< FAppleHTTPIOManager > > EventLoop
Definition AppleEventLoopHttpThread.h:101
virtual bool StartThreadedRequest(FHttpRequestCommon *Request) override
Definition AppleEventLoopHttpThread.cpp:7
virtual void DestroyEventLoop() override
Definition AppleEventLoopHttpThread.cpp:34
Definition AppleEventLoopHttpThread.h:16
void Notify()
Definition AppleEventLoopHttpThread.h:23
FAppleHTTPIOAccess(TSharedRef< UE::FManualResetEvent > Event)
Definition AppleEventLoopHttpThread.h:18
Definition AppleEventLoopHttpThread.h:33
virtual bool Init() override
Definition AppleEventLoopHttpThread.h:51
virtual void Shutdown() override
Definition AppleEventLoopHttpThread.h:56
FAppleHTTPIOManager(UE::EventLoop::IEventLoop &EventLoop, FParams &&Params)
Definition AppleEventLoopHttpThread.h:42
virtual ~FAppleHTTPIOManager()=default
FIOAccess & GetIOAccess()
Definition AppleEventLoopHttpThread.h:74
FAppleHTTPIOAccess FIOAccess
Definition AppleEventLoopHttpThread.h:35
virtual void Poll(FTimespan WaitTime) override
Definition AppleEventLoopHttpThread.h:65
virtual void Notify() override
Definition AppleEventLoopHttpThread.h:60
Definition EventLoopHttpThread.h:10
Definition HttpRequestCommon.h:15
Definition SharedPointer.h:153
Definition FunctionFwd.h:19
Definition IEventLoop.h:26
Definition IEventLoopIOManager.h:28
void Notify()
Definition ManualResetEvent.h:83
void Reset()
Definition ManualResetEvent.h:95
bool WaitFor(FMonotonicTimeSpan WaitTime)
Definition ManualResetEvent.h:44
Definition AdvancedWidgetsModule.cpp:13
Definition AppleEventLoopHttpThread.h:38
TUniqueFunction< void()> ProcessRequests
Definition AppleEventLoopHttpThread.h:39
Definition Timespan.h:76
double GetTotalSeconds() const
Definition Timespan.h:520
Definition Optional.h:131
static constexpr FMonotonicTimeSpan FromSeconds(double Seconds)
Definition MonotonicTime.h:28