UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HttpNetworkReplayStreaming.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "Stats/Stats.h"
8#include "Tickable.h"
9#include "HttpNetworkReplayStreaming.generated.h"
10
11#define UE_API HTTPNETWORKREPLAYSTREAMING_API
12
14
19{
20public:
22
23 UE_API virtual void Serialize( void* V, int64 Length );
24 UE_API virtual int64 Tell();
25 UE_API virtual int64 TotalSize();
26 UE_API virtual void Seek( int64 InPos );
27 UE_API virtual bool AtEnd();
28
32};
33
35{
36 enum Type
37 {
38 StartUploading, // We have made a request to start uploading a replay
39 UploadingHeader, // We are uploading the replay header
40 UploadingStream, // We are in the process of uploading the replay stream
41 StopUploading, // We have made the request to stop uploading a live replay stream
42 StartDownloading, // We have made the request to start downloading a replay stream
43 DownloadingHeader, // We are downloading the replay header
44 DownloadingStream, // We are in the process of downloading the replay stream
45 RefreshingViewer, // We are refreshing the server to let it know we're still viewing
46 EnumeratingSessions, // We are in the process of downloading the available sessions
47 EnumeratingCheckpoints, // We are in the process of downloading the available checkpoints
48 UploadingCheckpoint, // We are uploading a checkpoint
49 DownloadingCheckpoint, // We are downloading a checkpoint
50 AddingUser, // We are adding a user who joined in progress during recording
51 UploadingCustomEvent, // We are uploading a custom event
52 EnumeratingCustomEvent, // We are in the process of enumerating a custom event set
53 RequestEventData, // We are in the process of requesting the data for a specific event
54 UploadHeader, // Request to upload header (has to be done after we get info from server)
55 StopStreaming, // Request to stop streaming
56 KeepReplay, // Request to keep replay (or cancel keeping replay)
57 };
58
59 inline const TCHAR* ToString( EQueuedHttpRequestType::Type Type )
60 {
61 switch ( Type )
62 {
63 case StartUploading:
64 return TEXT( "StartUploading" );
65 case UploadingHeader:
66 return TEXT( "UploadingHeader" );
67 case UploadingStream:
68 return TEXT( "UploadingStream" );
69 case StopUploading:
70 return TEXT( "StopUploading" );
72 return TEXT( "StartDownloading" );
74 return TEXT( "DownloadingHeader" );
76 return TEXT( "DownloadingStream" );
78 return TEXT( "RefreshingViewer" );
80 return TEXT( "EnumeratingSessions" );
82 return TEXT( "EnumeratingCheckpoints" );
84 return TEXT( "UploadingCheckpoint" );
86 return TEXT( "DownloadingCheckpoint" );
87 case AddingUser:
88 return TEXT( "AddingUser" );
90 return TEXT( "UploadingCustomEvent" );
92 return TEXT( "EnumeratingCustomEvent" );
94 return TEXT("RequestEventData");
95 case UploadHeader:
96 return TEXT( "UploadHeader" );
97 case StopStreaming:
98 return TEXT( "StopStreaming" );
99 case KeepReplay:
100 return TEXT( "KeepReplay" );
101 }
102
103 return TEXT( "Unknown EQueuedHttpRequestType type." );
104 }
105};
106
108
137
143{
144public:
146
148 {
149 }
150
151 virtual bool PreProcess( FHttpNetworkReplayStreamer* Streamer, const FString& ServerURL, const FString& SessionName ) override;
152
153 FString Name;
155 FString Group;
156 FString Meta;
157};
158
164{
165public:
167
169 {
170 }
171
172 virtual bool PreProcess( FHttpNetworkReplayStreamer* Streamer, const FString& ServerURL, const FString& SessionName ) override;
173};
174
179{
180public:
182
184 {
185 }
186
187 virtual bool PreProcess( FHttpNetworkReplayStreamer* Streamer, const FString& ServerURL, const FString& SessionName ) override;
188};
189
200
202
203UENUM()
215
217
219
224{
226
227public:
229
231 virtual void StartStreaming(const FStartStreamingParameters& Params, const FStartStreamingCallback& Delegate) override;
232 virtual void StopStreaming() override;
233 virtual FArchive* GetHeaderArchive() override;
234 virtual FArchive* GetStreamingArchive() override;
235 virtual FArchive* GetCheckpointArchive() override;
236 virtual void FlushCheckpoint( const uint32 TimeInMS ) override;
237 virtual void GotoCheckpointIndex( const int32 CheckpointIndex, const FGotoCallback& Delegate, EReplayCheckpointType CheckpointType ) override;
238 virtual void GotoTimeInMS( const uint32 TimeInMS, const FGotoCallback& Delegate, EReplayCheckpointType CheckpointType ) override;
239 virtual void UpdateTotalDemoTime( uint32 TimeInMS ) override;
240 virtual void UpdatePlaybackTime(uint32 TimeInMS) override {}
241 virtual uint32 GetTotalDemoTime() const override { return TotalDemoTimeInMS; }
242 virtual bool IsDataAvailable() const override;
243 virtual void SetHighPriorityTimeRange( const uint32 StartTimeInMS, const uint32 EndTimeInMS ) override;
244 virtual bool IsDataAvailableForTimeRange( const uint32 StartTimeInMS, const uint32 EndTimeInMS ) override;
245 virtual bool IsLoadingCheckpoint() const override;
246 virtual bool IsLive() const override;
247 virtual void DeleteFinishedStream( const FString& StreamName, const FDeleteFinishedStreamCallback& Delegate ) override;
248 virtual void DeleteFinishedStream( const FString& StreamName, const int32 UserIndex, const FDeleteFinishedStreamCallback& Delegate ) override;
249 virtual void EnumerateStreams( const FNetworkReplayVersion& InReplayVersion, const int32 UserIndex, const FString& MetaString, const TArray< FString >& ExtraParms, const FEnumerateStreamsCallback& Delegate ) override;
250 virtual void EnumerateEvents( const FString& Group, const FEnumerateEventsCallback& Delegate ) override;
251 virtual void EnumerateEvents( const FString& ReplayName, const FString& Group, const FEnumerateEventsCallback& Delegate ) override;
252 virtual void EnumerateEvents( const FString& ReplayName, const FString& Group, const int32 UserIndex, const FEnumerateEventsCallback& Delegate ) override;
253 virtual void EnumerateRecentStreams( const FNetworkReplayVersion& ReplayVersion, const int32 UserIndex, const FEnumerateStreamsCallback& Delegate ) override;
254 virtual void AddUserToReplay(const FString& UserString) override;
255 virtual void RequestEventData(const FString& EventId, const FRequestEventDataCallback& Delegate) override;
256 virtual void RequestEventData(const FString& ReplayName, const FString& EventId, const FRequestEventDataCallback& Delegate) override;
257 virtual void RequestEventData(const FString& ReplayName, const FString& EventId, const int32 UserIndex, const FRequestEventDataCallback& Delegate) override;
258 virtual void RequestEventGroupData(const FString& Group, const FRequestEventGroupDataCallback& Delegate) override;
259 virtual void RequestEventGroupData(const FString& ReplayName, const FString& Group, const FRequestEventGroupDataCallback& Delegate) override;
260 virtual void RequestEventGroupData(const FString& ReplayName, const FString& Group, const int32 UserIndex, const FRequestEventGroupDataCallback& Delegate) override;
261 virtual void SearchEvents(const FString& EventGroup, const FSearchEventsCallback& Delegate) override;
262 virtual void KeepReplay(const FString& ReplayName, const bool bKeep, const FKeepReplayCallback& Delegate) override;
263 virtual void KeepReplay(const FString& ReplayName, const bool bKeep, const int32 UserIndex, const FKeepReplayCallback& Delegate) override;
264 virtual void RenameReplayFriendlyName(const FString& ReplayName, const FString& NewFriendlyName, const FRenameReplayCallback& Delegate) override;
265 virtual void RenameReplayFriendlyName(const FString& ReplayName, const FString& NewFriendlyName, const int32 UserIndex, const FRenameReplayCallback& Delegate) override;
266 virtual void RenameReplay(const FString& ReplayName, const FString& NewName, const FRenameReplayCallback& Delegate) override;
267 virtual void RenameReplay(const FString& ReplayName, const FString& NewName, const int32 UserIndex, const FRenameReplayCallback& Delegate) override;
268
269 virtual FString GetReplayID() const override { return SessionName; }
270 virtual EReplayStreamerState GetReplayStreamerState() const override { return StreamerState; }
271 virtual void SetTimeBufferHintSeconds(const float InTimeBufferHintSeconds) override {}
272 virtual void RefreshHeader() override;
273 virtual void DownloadHeader(const FDownloadHeaderCallback& Delegate);
274 virtual uint32 GetMaxFriendlyNameSize() const override { return 0; }
275
276 virtual EStreamingOperationResult SetDemoPath(const FString& DemoPath) override
277 {
279 }
280
281 virtual EStreamingOperationResult GetDemoPath(FString& DemoPath) const override
282 {
284 }
285
287
289 void UploadHeader();
290 void FlushStream();
292 void StopUploading();
296 void RefreshViewer( const bool bFinal );
298
299 UE_DEPRECATED(5.1, "No longer used")
301 void SetLastError(FHttpReplayResult&& Result);
302
303 virtual void CancelStreamingRequests();
304 void FlushCheckpointInternal( uint32 TimeInMS );
305 virtual void AddEvent( const uint32 TimeInMS, const FString& Group, const FString& Meta, const TArray<uint8>& Data ) override;
306 virtual void AddOrUpdateEvent( const FString& Name, const uint32 TimeInMS, const FString& Group, const FString& Meta, const TArray<uint8>& Data ) override;
309 void AddResponseToCache( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse );
311 bool RetryRequest( TSharedPtr<FQueuedHttpRequest> Request, FHttpResponsePtr HttpResponse, const bool bIgnoreResponseCode = false );
314
316 virtual bool SupportsCompression() const { return false; }
317 virtual bool CompressBuffer( const TArray< uint8 >& InBuffer, FHttpStreamFArchive& OutCompressed ) const { return false; }
318 virtual bool DecompressBuffer(FHttpStreamFArchive& InCompressed, TArray< uint8 >& OutBuffer) const { return false; }
319
320 virtual FString GetRecordingMetadata() const;
321 virtual bool DecompressResponse(FHttpResponsePtr HttpResponse, TArray<uint8>& ResultBuffer) const;
322 virtual bool CompressRequest(FHttpRequestPtr HttpRequest, const TArray<uint8>& RequestBuffer) const;
323
324 void InternalGotoTimeInMS(const uint32 TimeInMS, const FGotoCallback& Delegate, bool bDelta);
326
329
330 void HttpStartDownloadingFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
331 void HttpDownloadHeaderFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FDownloadHeaderCallback Delegate);
332 void HttpDownloadFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, int32 RequestedStreamChunkIndex, bool bStreamWasLive );
333 void HttpDownloadCheckpointFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
334 void HttpDownloadCheckpointDeltaFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
335 void HttpRefreshViewerFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
336 void HttpStartUploadingFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
337 void HttpStopUploadingFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
338 void HttpHeaderUploadFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
339 void HttpUploadStreamFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
340 void HttpUploadCheckpointFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
341 void HttpUploadCustomEventFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
342 void HttpEnumerateSessionsFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FEnumerateStreamsCallback Delegate );
343 void HttpEnumerateCheckpointsFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
345 void HttpAddUserFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded );
347
348 // Purposefully passing a copy of a string here, as we call this from a delegate and don't want
349 // to inadvertently capture a reference which may go out of scope.
350 void KeepReplayFinished( FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FKeepReplayCallback KeepReplayDelegate, FString ReplayName );
351
353 void Tick( const float DeltaTime );
354 bool IsHttpRequestInFlight() const; // True there is an http request currently in flight
355 bool HasPendingHttpRequests() const; // True if there is an http request in flight, or there are more to process
356 bool IsStreaming() const; // True if we are streaming a replay up or down
357
358 FHttpStreamFArchive HeaderArchive; // Archive used to buffer the header stream
359 FHttpStreamFArchive StreamArchive; // Archive used to buffer the data stream
360 FHttpStreamFArchive CheckpointArchive; // Archive used to buffer checkpoint data
361 FString SessionName; // Name of the session on the http replay server
362 FNetworkReplayVersion ReplayVersion; // Version of the session
363 FString ServerURL; // The address of the server
364 int32 StreamChunkIndex; // Used as a counter to increment the stream.x extension count
365 double LastChunkTime; // The last time we uploaded/downloaded a chunk
366 double LastRefreshViewerTime; // The last time we refreshed ourselves as an active viewer
368 EReplayStreamerState StreamerState; // Overall state of the streamer
370 bool bStreamIsLive; // If true, we are viewing a live stream
377 FString ViewerName;
379
380 FStartStreamingCallback StartStreamingDelegate; // Delegate passed in to StartStreaming
385
387
390
392
394
396
398};
399
401
403{
404public:
407
409 UE_API virtual void Tick( float DeltaTime ) override;
411 UE_API virtual TStatId GetStatId() const override;
412 virtual bool IsTickableWhenPaused() const override { return true; }
413 UE_API virtual void Flush() override;
414
415 UE_API virtual void ShutdownModule() override;
416
417 UE_API bool HasPendingHttpRequests() const;
418
420};
421
422#undef UE_API
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define UE_API
Definition HttpNetworkReplayStreaming.h:11
HTTPNETWORKREPLAYSTREAMING_API const TCHAR * LexToString(EHttpReplayResult Enum)
Definition HttpNetworkReplayStreaming.cpp:2802
EHttpReplayResult
Definition HttpNetworkReplayStreaming.h:205
#define DECLARE_NETRESULT_ENUM(EnumType)
Definition NetResult.h:469
EStreamingOperationResult
Definition NetworkReplayStreaming.h:197
@ Unsupported
The operation succeeded.
EReplayCheckpointType
Definition NetworkReplayStreaming.h:482
EReplayStreamerState
Definition NetworkReplayStreaming.h:498
#define UENUM(...)
Definition ObjectMacros.h:749
ETickableTickType
Definition Tickable.h:20
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition HttpNetworkReplayStreaming.h:191
FCachedResponse(FHttpResponsePtr InResponse, const double InLastAccessTime)
Definition HttpNetworkReplayStreaming.h:193
double LastAccessTime
Definition HttpNetworkReplayStreaming.h:198
FHttpResponsePtr Response
Definition HttpNetworkReplayStreaming.h:197
Definition HttpNetworkReplayStreaming.h:224
uint32 HighPriorityEndTime
Definition HttpNetworkReplayStreaming.h:378
TMap< FString, FCachedResponse > ResponseCache
Definition HttpNetworkReplayStreaming.h:395
virtual EStreamingOperationResult GetDemoPath(FString &DemoPath) const override
Definition HttpNetworkReplayStreaming.h:281
virtual void RenameReplay(const FString &ReplayName, const FString &NewName, const FRenameReplayCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1319
virtual bool DecompressBuffer(FHttpStreamFArchive &InCompressed, TArray< uint8 > &OutBuffer) const
Definition HttpNetworkReplayStreaming.h:318
virtual bool IsLive() const override
Definition HttpNetworkReplayStreaming.cpp:1492
virtual void DeleteFinishedStream(const FString &StreamName, const FDeleteFinishedStreamCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1507
virtual void KeepReplay(const FString &ReplayName, const bool bKeep, const FKeepReplayCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1272
void ConditionallyRefreshViewer()
Definition HttpNetworkReplayStreaming.cpp:1374
virtual void SearchEvents(const FString &EventGroup, const FSearchEventsCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:855
void CancelInFlightOrPendingTask(const EQueuedHttpRequestType::Type Type)
Definition HttpNetworkReplayStreaming.cpp:1167
FGotoCallback GotoCheckpointDelegate
Definition HttpNetworkReplayStreaming.h:381
void ConditionallyFlushStream()
Definition HttpNetworkReplayStreaming.cpp:701
virtual void UpdateTotalDemoTime(uint32 TimeInMS) override
Definition HttpNetworkReplayStreaming.cpp:1439
int64 LastGotoTimeInMS
Definition HttpNetworkReplayStreaming.h:384
FNetworkReplayVersion ReplayVersion
Definition HttpNetworkReplayStreaming.h:362
FReplayEventList CheckpointList
Definition HttpNetworkReplayStreaming.h:386
bool bStreamIsLive
Definition HttpNetworkReplayStreaming.h:370
uint32 StreamTimeRangeStart
Definition HttpNetworkReplayStreaming.h:375
void SetLastError(const ENetworkReplayError::Type InLastError)
Definition HttpNetworkReplayStreaming.h:300
FString SessionName
Definition HttpNetworkReplayStreaming.h:361
virtual void SetTimeBufferHintSeconds(const float InTimeBufferHintSeconds) override
Definition HttpNetworkReplayStreaming.h:271
uint32 StreamTimeRangeEnd
Definition HttpNetworkReplayStreaming.h:376
void RefreshViewer(const bool bFinal)
Definition HttpNetworkReplayStreaming.cpp:1345
virtual void StartStreaming(const FStartStreamingParameters &Params, const FStartStreamingCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:241
bool RetryRequest(TSharedPtr< FQueuedHttpRequest > Request, FHttpResponsePtr HttpResponse, const bool bIgnoreResponseCode=false)
Definition HttpNetworkReplayStreaming.cpp:490
void ConditionallyDownloadNextChunk()
Definition HttpNetworkReplayStreaming.cpp:1189
virtual void RequestEventGroupData(const FString &Group, const FRequestEventGroupDataCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:938
FString ServerURL
Definition HttpNetworkReplayStreaming.h:363
int32 DeltaDownloadCheckpointIndex
Definition HttpNetworkReplayStreaming.h:383
virtual bool CompressBuffer(const TArray< uint8 > &InBuffer, FHttpStreamFArchive &OutCompressed) const
Definition HttpNetworkReplayStreaming.h:317
void HttpUploadCheckpointFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1842
virtual void AddEvent(const uint32 TimeInMS, const FString &Group, const FString &Meta, const TArray< uint8 > &Data) override
Definition HttpNetworkReplayStreaming.cpp:1115
virtual bool SupportsCompression() const
Definition HttpNetworkReplayStreaming.h:316
virtual EReplayStreamerState GetReplayStreamerState() const override
Definition HttpNetworkReplayStreaming.h:270
int32 NumTotalStreamChunks
Definition HttpNetworkReplayStreaming.h:372
double LastRefreshCheckpointTime
Definition HttpNetworkReplayStreaming.h:367
virtual void FlushCheckpoint(const uint32 TimeInMS) override
Definition HttpNetworkReplayStreaming.cpp:730
FString ViewerName
Definition HttpNetworkReplayStreaming.h:377
virtual void StopStreaming() override
Definition HttpNetworkReplayStreaming.cpp:535
void ConditionallyEnumerateCheckpoints()
Definition HttpNetworkReplayStreaming.cpp:1657
void CleanupResponseCache()
Definition HttpNetworkReplayStreaming.cpp:431
virtual bool IsCheckpointTypeSupported(EReplayCheckpointType CheckpointType) const override
Definition HttpNetworkReplayStreaming.cpp:2680
bool IsStreaming() const
Definition HttpNetworkReplayStreaming.cpp:2530
void UploadHeader()
Definition HttpNetworkReplayStreaming.cpp:577
FHttpNetworkReplayStreamer()
Definition HttpNetworkReplayStreaming.cpp:211
void HttpDownloadFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, int32 RequestedStreamChunkIndex, bool bStreamWasLive)
Definition HttpNetworkReplayStreaming.cpp:2000
void HttpUploadCustomEventFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1869
uint32 LastTotalDemoTimeInMS
Definition HttpNetworkReplayStreaming.h:374
void HttpRequestEventDataFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FRequestEventDataCallback RequestEventDataCompleteDelegate)
Definition HttpNetworkReplayStreaming.cpp:917
void FlushStream()
Definition HttpNetworkReplayStreaming.cpp:651
virtual bool CompressRequest(FHttpRequestPtr HttpRequest, const TArray< uint8 > &RequestBuffer) const
Definition HttpNetworkReplayStreaming.cpp:623
int32 DownloadCheckpointIndex
Definition HttpNetworkReplayStreaming.h:382
double LastChunkTime
Definition HttpNetworkReplayStreaming.h:365
int32 RefreshViewerFails
Definition HttpNetworkReplayStreaming.h:397
virtual FString GetReplayID() const override
Definition HttpNetworkReplayStreaming.h:269
int32 StreamChunkIndex
Definition HttpNetworkReplayStreaming.h:364
uint64 TotalUploadBytes
Definition HttpNetworkReplayStreaming.h:393
virtual void RequestEventData(const FString &EventId, const FRequestEventDataCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:897
virtual void EnumerateStreams(const FNetworkReplayVersion &InReplayVersion, const int32 UserIndex, const FString &MetaString, const TArray< FString > &ExtraParms, const FEnumerateStreamsCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1515
void InternalGotoTimeInMS(const uint32 TimeInMS, const FGotoCallback &Delegate, bool bDelta)
virtual void RenameReplayFriendlyName(const FString &ReplayName, const FString &NewFriendlyName, const FRenameReplayCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1306
void StopUploading()
Definition HttpNetworkReplayStreaming.cpp:716
virtual bool IsDataAvailableForTimeRange(const uint32 StartTimeInMS, const uint32 EndTimeInMS) override
Definition HttpNetworkReplayStreaming.cpp:1481
virtual FString GetRecordingMetadata() const
Definition HttpNetworkReplayStreaming.cpp:234
virtual void CancelStreamingRequests()
Definition HttpNetworkReplayStreaming.cpp:1396
virtual uint32 GetMaxFriendlyNameSize() const override
Definition HttpNetworkReplayStreaming.h:274
virtual void DownloadHeader(const FDownloadHeaderCallback &Delegate)
Definition HttpNetworkReplayStreaming.cpp:1133
virtual bool IsLoadingCheckpoint() const override
Definition HttpNetworkReplayStreaming.cpp:1497
void HttpHeaderUploadFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1786
virtual void ProcessRequestInternal(TSharedPtr< class IHttpRequest, ESPMode::ThreadSafe > Request)
Definition HttpNetworkReplayStreaming.cpp:2467
virtual void SetHighPriorityTimeRange(const uint32 StartTimeInMS, const uint32 EndTimeInMS) override
Definition HttpNetworkReplayStreaming.cpp:1474
void HttpDownloadCheckpointDeltaFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:2535
void HttpDownloadHeaderFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FDownloadHeaderCallback Delegate)
Definition HttpNetworkReplayStreaming.cpp:1942
FHttpStreamFArchive CheckpointArchive
Definition HttpNetworkReplayStreaming.h:360
void AddRequestToQueue(const EQueuedHttpRequestType::Type Type, TSharedPtr< class IHttpRequest, ESPMode::ThreadSafe > Request, const int32 InMaxRetries=0, const float InRetryDelay=0.0f)
Definition HttpNetworkReplayStreaming.cpp:398
void FlushCheckpointInternal(uint32 TimeInMS)
Definition HttpNetworkReplayStreaming.cpp:1014
void HttpEnumerateSessionsFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FEnumerateStreamsCallback Delegate)
Definition HttpNetworkReplayStreaming.cpp:2247
void AddCustomRequestToQueue(TSharedPtr< FQueuedHttpRequest > Request)
Definition HttpNetworkReplayStreaming.cpp:405
virtual void RefreshHeader() override
Definition HttpNetworkReplayStreaming.cpp:393
bool HasPendingHttpRequests() const
Definition HttpNetworkReplayStreaming.cpp:2524
uint32 TotalDemoTimeInMS
Definition HttpNetworkReplayStreaming.h:373
TArray< TSharedPtr< FQueuedHttpRequest > > QueuedHttpRequests
Definition HttpNetworkReplayStreaming.h:388
void HttpRefreshViewerFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:2220
EReplayStreamerState StreamerState
Definition HttpNetworkReplayStreaming.h:368
void AddResponseToCache(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse)
Definition HttpNetworkReplayStreaming.cpp:412
FString StreamMetadata
Definition HttpNetworkReplayStreaming.h:371
double LastRefreshViewerTime
Definition HttpNetworkReplayStreaming.h:366
FHttpStreamFArchive StreamArchive
Definition HttpNetworkReplayStreaming.h:359
void RequestFinished(EReplayStreamerState ExpectedStreamerState, EQueuedHttpRequestType::Type ExpectedType, FHttpRequestPtr HttpRequest)
Definition HttpNetworkReplayStreaming.cpp:1709
void HttpDownloadCheckpointFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:2110
void InternalGotoCheckpointIndex(const int32 CheckpointIndex, const FGotoCallback &Delegate, const FHttpRequestCompleteDelegate &RequestDelegate)
virtual void EnumerateRecentStreams(const FNetworkReplayVersion &ReplayVersion, const int32 UserIndex, const FEnumerateStreamsCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1571
virtual uint32 GetTotalDemoTime() const override
Definition HttpNetworkReplayStreaming.h:241
virtual void AddUserToReplay(const FString &UserString) override
Definition HttpNetworkReplayStreaming.cpp:1620
TSet< FString > EventGroupSet
Definition HttpNetworkReplayStreaming.h:391
FStartStreamingCallback StartStreamingDelegate
Definition HttpNetworkReplayStreaming.h:380
virtual void GotoCheckpointIndex(const int32 CheckpointIndex, const FGotoCallback &Delegate, EReplayCheckpointType CheckpointType) override
Definition HttpNetworkReplayStreaming.cpp:789
virtual void UpdatePlaybackTime(uint32 TimeInMS) override
Definition HttpNetworkReplayStreaming.h:240
virtual void AddOrUpdateEvent(const FString &Name, const uint32 TimeInMS, const FString &Group, const FString &Meta, const TArray< uint8 > &Data) override
Definition HttpNetworkReplayStreaming.cpp:1095
virtual bool IsDataAvailable() const override
Definition HttpNetworkReplayStreaming.cpp:1445
virtual FArchive * GetHeaderArchive() override
Definition HttpNetworkReplayStreaming.cpp:1417
void HttpStartDownloadingFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1888
virtual FArchive * GetCheckpointArchive() override
Definition HttpNetworkReplayStreaming.cpp:1427
bool IsHttpRequestInFlight() const
Definition HttpNetworkReplayStreaming.cpp:2519
FHttpStreamFArchive HeaderArchive
Definition HttpNetworkReplayStreaming.h:358
virtual void GotoTimeInMS(const uint32 TimeInMS, const FGotoCallback &Delegate, EReplayCheckpointType CheckpointType) override
Definition HttpNetworkReplayStreaming.cpp:956
void EnumerateCheckpoints()
Definition HttpNetworkReplayStreaming.cpp:1642
bool IsTaskPendingOrInFlight(const EQueuedHttpRequestType::Type Type) const
Definition HttpNetworkReplayStreaming.cpp:1146
virtual EStreamingOperationResult SetDemoPath(const FString &DemoPath) override
Definition HttpNetworkReplayStreaming.h:276
TSharedPtr< FQueuedHttpRequest > InFlightHttpRequest
Definition HttpNetworkReplayStreaming.h:389
void HttpStartUploadingFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1719
void HttpAddUserFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:2366
void HttpUploadStreamFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1820
void HttpEnumerateCheckpointsFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:2298
void KeepReplayFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FKeepReplayCallback KeepReplayDelegate, FString ReplayName)
Definition HttpNetworkReplayStreaming.cpp:1327
virtual void EnumerateEvents(const FString &Group, const FEnumerateEventsCallback &Delegate) override
Definition HttpNetworkReplayStreaming.cpp:1684
virtual FArchive * GetStreamingArchive() override
Definition HttpNetworkReplayStreaming.cpp:1422
bool bStopStreamingCalled
Definition HttpNetworkReplayStreaming.h:369
virtual bool DecompressResponse(FHttpResponsePtr HttpResponse, TArray< uint8 > &ResultBuffer) const
Definition HttpNetworkReplayStreaming.cpp:1973
void HttpStopUploadingFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
Definition HttpNetworkReplayStreaming.cpp:1757
void HttpEnumerateEventsFinished(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FEnumerateEventsCallback EnumerateEventsDelegate)
Definition HttpNetworkReplayStreaming.cpp:2336
bool ProcessNextHttpRequest()
Definition HttpNetworkReplayStreaming.cpp:2381
Definition HttpNetworkReplayStreaming.h:403
virtual bool IsTickableWhenPaused() const override
Definition HttpNetworkReplayStreaming.h:412
virtual UE_API void ShutdownModule() override
Definition HttpNetworkReplayStreaming.cpp:2795
virtual UE_API TSharedPtr< INetworkReplayStreamer > CreateReplayStreamer() override
Definition HttpNetworkReplayStreaming.cpp:2697
virtual UE_API TStatId GetStatId() const override
Definition HttpNetworkReplayStreaming.cpp:2727
UE_API bool HasPendingHttpRequests() const
Definition HttpNetworkReplayStreaming.cpp:2732
TArray< TSharedPtr< FHttpNetworkReplayStreamer > > HttpStreamers
Definition HttpNetworkReplayStreaming.h:419
virtual UE_API void Flush() override
Definition HttpNetworkReplayStreaming.cpp:2748
virtual ETickableTickType GetTickableTickType() const override
Definition HttpNetworkReplayStreaming.h:410
Definition HttpNetworkReplayStreaming.h:19
FHttpStreamFArchive()
Definition HttpNetworkReplayStreaming.h:21
virtual UE_API bool AtEnd()
Definition HttpNetworkReplayStreaming.cpp:206
virtual UE_API int64 TotalSize()
Definition HttpNetworkReplayStreaming.cpp:195
bool bAtEndOfReplay
Definition HttpNetworkReplayStreaming.h:31
virtual UE_API int64 Tell()
Definition HttpNetworkReplayStreaming.cpp:190
TArray< uint8 > Buffer
Definition HttpNetworkReplayStreaming.h:29
int32 Pos
Definition HttpNetworkReplayStreaming.h:30
Definition NetworkVersion.h:20
Definition HttpNetworkReplayStreaming.h:179
virtual bool PreProcess(FHttpNetworkReplayStreamer *Streamer, const FString &ServerURL, const FString &SessionName) override
Definition HttpNetworkReplayStreaming.cpp:749
FQueuedGotoFakeCheckpoint()
Definition HttpNetworkReplayStreaming.cpp:745
virtual ~FQueuedGotoFakeCheckpoint()
Definition HttpNetworkReplayStreaming.h:183
Definition HttpNetworkReplayStreaming.h:143
uint32 TimeInMS
Definition HttpNetworkReplayStreaming.h:154
FString Name
Definition HttpNetworkReplayStreaming.h:153
virtual ~FQueuedHttpRequestAddEvent()
Definition HttpNetworkReplayStreaming.h:147
FString Meta
Definition HttpNetworkReplayStreaming.h:156
FString Group
Definition HttpNetworkReplayStreaming.h:155
virtual bool PreProcess(FHttpNetworkReplayStreamer *Streamer, const FString &ServerURL, const FString &SessionName) override
Definition HttpNetworkReplayStreaming.cpp:1069
Definition HttpNetworkReplayStreaming.h:164
virtual ~FQueuedHttpRequestAddUser()
Definition HttpNetworkReplayStreaming.h:168
virtual bool PreProcess(FHttpNetworkReplayStreamer *Streamer, const FString &ServerURL, const FString &SessionName) override
Definition HttpNetworkReplayStreaming.cpp:1603
Definition HttpNetworkReplayStreaming.h:110
float RetryDelay
Definition HttpNetworkReplayStreaming.h:129
virtual bool PreProcess(FHttpNetworkReplayStreamer *Streamer, const FString &ServerURL, const FString &SessionName)
Definition HttpNetworkReplayStreaming.h:132
double NextRetryTime
Definition HttpNetworkReplayStreaming.h:130
EQueuedHttpRequestType::Type Type
Definition HttpNetworkReplayStreaming.h:124
FQueuedHttpRequest(const EQueuedHttpRequestType::Type InType, TSharedPtr< class IHttpRequest, ESPMode::ThreadSafe > InRequest)
Definition HttpNetworkReplayStreaming.h:112
int32 RetryProgress
Definition HttpNetworkReplayStreaming.h:127
virtual ~FQueuedHttpRequest()
Definition HttpNetworkReplayStreaming.h:120
int32 MaxRetries
Definition HttpNetworkReplayStreaming.h:128
TSharedPtr< class IHttpRequest, ESPMode::ThreadSafe > Request
Definition HttpNetworkReplayStreaming.h:125
FQueuedHttpRequest(const EQueuedHttpRequestType::Type InType, TSharedPtr< class IHttpRequest, ESPMode::ThreadSafe > InRequest, const int32 InMaxRetries, const float InRetryDelay)
Definition HttpNetworkReplayStreaming.h:116
Definition NetworkReplayStreaming.h:55
Definition Tickable.h:135
Definition NetworkReplayStreaming.h:516
Definition NetworkReplayStreaming.h:684
Definition DelegateSignatureImpl.inl:310
Definition SharedPointer.h:153
Definition NetworkReplayStreaming.h:103
Definition HttpNetworkReplayStreaming.h:35
Type
Definition HttpNetworkReplayStreaming.h:37
@ RequestEventData
Definition HttpNetworkReplayStreaming.h:53
@ UploadingCheckpoint
Definition HttpNetworkReplayStreaming.h:48
@ EnumeratingCustomEvent
Definition HttpNetworkReplayStreaming.h:52
@ StartUploading
Definition HttpNetworkReplayStreaming.h:38
@ StopStreaming
Definition HttpNetworkReplayStreaming.h:55
@ UploadingCustomEvent
Definition HttpNetworkReplayStreaming.h:51
@ StopUploading
Definition HttpNetworkReplayStreaming.h:41
@ EnumeratingCheckpoints
Definition HttpNetworkReplayStreaming.h:47
@ UploadHeader
Definition HttpNetworkReplayStreaming.h:54
@ AddingUser
Definition HttpNetworkReplayStreaming.h:50
@ KeepReplay
Definition HttpNetworkReplayStreaming.h:56
@ StartDownloading
Definition HttpNetworkReplayStreaming.h:42
@ RefreshingViewer
Definition HttpNetworkReplayStreaming.h:45
@ UploadingHeader
Definition HttpNetworkReplayStreaming.h:39
@ DownloadingStream
Definition HttpNetworkReplayStreaming.h:44
@ EnumeratingSessions
Definition HttpNetworkReplayStreaming.h:46
@ DownloadingCheckpoint
Definition HttpNetworkReplayStreaming.h:49
@ UploadingStream
Definition HttpNetworkReplayStreaming.h:40
@ DownloadingHeader
Definition HttpNetworkReplayStreaming.h:43
@ false
Definition radaudio_common.h:23
Definition NetworkReplayStreaming.h:488
Definition LightweightStats.h:416
Definition NetResult.h:330