UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CurlSocketEventLoopHttpThread.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
7#if WITH_CURL
8#if WITH_CURL_MULTISOCKET
9
10#include "EventLoopHttpThread.h"
12#include "EventLoop/EventLoop.h"
13#include "Templates/Function.h"
14
15#if PLATFORM_MICROSOFT
17#endif
18#ifdef PLATFORM_CURL_INCLUDE
19#include PLATFORM_CURL_INCLUDE
20#else
21#include "curl/curl.h"
22#endif
23#if PLATFORM_MICROSOFT
25#endif
26
28
31{
32public:
33
35
36protected:
37 //~ Begin FHttpThread Interface
38 virtual void HttpThreadTick(float DeltaSeconds) override;
39 virtual bool StartThreadedRequest(FHttpRequestCommon* Request) override;
40 virtual void CompleteThreadedRequest(FHttpRequestCommon* Request) override;
41 //~ End FHttpThread Interface
42protected:
43 virtual void CreateEventLoop() override;
44 virtual void DestroyEventLoop() override;
45 virtual void UpdateEventLoopConfigs() override;
46 virtual UE::EventLoop::IEventLoop* GetEventLoop() override;
48
49 static int CurlSocketCallback(CURL* CurlE, curl_socket_t Socket, int EventFlags, void* UserData, void* SocketData);
51
52 static int CurlTimerCallback(CURLM* CurlM, long TimeoutMS, void* UserData);
54
56 void ProcessCurlSocketEvent(curl_socket_t Socket, UE::EventLoop::ESocketIoRequestStatus Status, UE::EventLoop::EIOFlags Flags);
58
59 struct FCurlSocketData
60 {
63 };
64
67
69
71};
72
73#endif // WITH_CURL_MULTISOCKET
74#endif // WITH_CURL
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition EventLoop.Build.cs:6
Definition EventLoopHttpThread.h:10
virtual void CreateEventLoop()=0
virtual UE::EventLoop::IEventLoop * GetEventLoop()=0
virtual UE::EventLoop::IEventLoop & GetEventLoopChecked()=0
virtual void DestroyEventLoop()=0
virtual void UpdateEventLoopConfigs()=0
Definition HttpRequestCommon.h:15
virtual bool StartThreadedRequest(FHttpRequestCommon *Request)
Definition HttpThread.cpp:223
virtual void HttpThreadTick(float DeltaSeconds)
Definition HttpThread.cpp:219
virtual void CompleteThreadedRequest(FHttpRequestCommon *Request)
Definition HttpThread.cpp:228
Definition UnrealString.h.inl:34
Definition IEventLoop.h:26
@ Socket
Definition EngineTypes.h:3849
EIOFlags
Definition IEventLoopIOManager.h:20
Definition Optional.h:131
Definition EventLoopHandle.h:12