8#include "Containers/Array.h"
9#include "Containers/Set.h"
114 inline const TCHAR* ToString(
const ENetworkReplayError::Type FailureType )
116 switch ( FailureType )
119 return TEXT(
"None" );
121 return TEXT(
"ServiceUnavailable" );
123 return TEXT(
"Unknown ENetworkReplayError error" );
237 if (OldDelegate.IsBound())
241 OldDelegate.ExecuteIfBound(Result.WasSuccessful(), Result.bRecording);
281 if (OldDelegate.IsBound())
283 return FGotoCallback::CreateLambda([OldDelegate](
const FGotoResult& Result)
285 OldDelegate.ExecuteIfBound(Result.WasSuccessful(), Result.ExtraTimeMS);
304 if (OldDelegate.IsBound())
308 OldDelegate.ExecuteIfBound(Result.WasSuccessful());
332 if (OldDelegate.IsBound())
336 OldDelegate.ExecuteIfBound(Result.FoundStreams);
357 if (OldDelegate.IsBound())
361 OldDelegate.ExecuteIfBound(Result.ReplayEventList, Result.WasSuccessful());
382 if (OldDelegate.IsBound())
386 OldDelegate.ExecuteIfBound(Result.ReplayEventListItem, Result.WasSuccessful());
415 if (OldDelegate.IsBound())
419 OldDelegate.ExecuteIfBound(Result.WasSuccessful());
443 if (OldDelegate.IsBound())
445 return FSearchEventsCallback::CreateLambda([OldDelegate](
const FSearchEventsResult& Result)
447 OldDelegate.ExecuteIfBound(Result.FoundStreams);
628 UE_DEPRECATED(5.1,
"Deprecated in favor of HasError and HandleLastError")
699 return FModuleManager::LoadModuleChecked<FNetworkReplayStreaming>(
"NetworkReplayStreaming");
727#if UE_ALLOW_EXEC_COMMANDS
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define BEGIN_JSON_SERIALIZER
Definition JsonSerializerMacros.h:21
#define END_JSON_SERIALIZER
Definition JsonSerializerMacros.h:26
EStreamingOperationResult
Definition NetworkReplayStreaming.h:197
@ UnfinishedTask
The operation failed for unspecified reasons.
@ NotEnoughSlots
The operation failed due to insufficient storage space.
@ NotEnoughSpace
The requested replay was found but was corrupt.
@ Unspecified
The operation failed due to reaching a predefined replay limit.
@ ReplayNotFound
The operation is not supported by the current streamer.
@ DecryptFailure
The operation failed because the event could not be found.
@ Unsupported
The operation succeeded.
@ EventNotFound
The operation failed due to an outstanding task.
@ ReplayCorrupt
The requested replay was not found.
FString NETWORKREPLAYSTREAMING_API LexToString(const EReplayStreamerState State)
Definition NetworkReplayStreaming.cpp:136
EReplayCheckpointType
Definition NetworkReplayStreaming.h:482
EReplayStreamerState
Definition NetworkReplayStreaming.h:498
Definition Archive.h:1208
virtual CORE_API bool Exec(UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
Definition Exec.cpp:30
Definition NetworkReplayStreaming.h:692
static NETWORKREPLAYSTREAMING_API int32 GetMaxNumberOfAutomaticReplays()
Definition NetworkReplayStreaming.cpp:49
virtual INetworkReplayStreamingFactory & GetFactory(const TCHAR *FactoryNameOverride=nullptr)
Definition NetworkReplayStreaming.cpp:12
static NETWORKREPLAYSTREAMING_API FString GetAutomaticReplayPrefix()
Definition NetworkReplayStreaming.cpp:76
NETWORKREPLAYSTREAMING_API void Flush()
Definition NetworkReplayStreaming.cpp:101
static NETWORKREPLAYSTREAMING_API bool UseDateTimeAsAutomaticReplayPostfix()
Definition NetworkReplayStreaming.cpp:86
virtual const int32 GetMaxNumberOfAutomaticReplaysExtern() const
Definition NetworkReplayStreaming.cpp:96
virtual ~FNetworkReplayStreaming()
Definition NetworkReplayStreaming.h:695
FNetworkReplayStreaming()
Definition NetworkReplayStreaming.h:694
virtual const FString GetAutomaticReplayPrefixExtern() const
Definition NetworkReplayStreaming.cpp:91
static NETWORKREPLAYSTREAMING_API FString GetReplayFileExtension()
Definition NetworkReplayStreaming.cpp:81
static FNetworkReplayStreaming & Get()
Definition NetworkReplayStreaming.h:697
Definition NetworkVersion.h:20
Definition OutputDevice.h:133
Definition NetworkReplayStreaming.h:33
FString Group
Definition NetworkReplayStreaming.h:39
FString Metadata
Definition NetworkReplayStreaming.h:40
JSON_SERIALIZE("group", Group)
JSON_SERIALIZE("time1", Time1)
uint32 Time1
Definition NetworkReplayStreaming.h:41
JSON_SERIALIZE("meta", Metadata)
BEGIN_JSON_SERIALIZER JSON_SERIALIZE("id", ID)
FReplayEventListItem()
Definition NetworkReplayStreaming.h:35
uint32 Time2
Definition NetworkReplayStreaming.h:42
virtual ~FReplayEventListItem()
Definition NetworkReplayStreaming.h:36
FString ID
Definition NetworkReplayStreaming.h:38
JSON_SERIALIZE("time2", Time2)
Definition NetworkReplayStreaming.h:55
BEGIN_JSON_SERIALIZER JSON_SERIALIZE_ARRAY_SERIALIZABLE("events", ReplayEvents, FReplayEventListItem)
TArray< FReplayEventListItem > ReplayEvents
Definition NetworkReplayStreaming.h:61
FReplayEventList()
Definition NetworkReplayStreaming.h:57
virtual ~FReplayEventList()
Definition NetworkReplayStreaming.h:59
Definition IAnalyticsProvider.h:52
Definition ModuleInterface.h:14
Definition NetworkReplayStreaming.h:516
virtual void DeleteFinishedStream(const FString &StreamName, const FDeleteFinishedStreamCallback &Delegate)=0
virtual void AddOrUpdateEvent(const FString &Name, const uint32 TimeInMS, const FString &Group, const FString &Meta, const TArray< uint8 > &Data)=0
virtual void SetAnalyticsProvider(TSharedPtr< IAnalyticsProvider > &InProvider)
Definition NetworkReplayStreaming.h:669
virtual void UpdatePlaybackTime(uint32 TimeInMS)=0
virtual bool IsCheckpointTypeSupported(EReplayCheckpointType CheckpointType) const =0
virtual void EnumerateEvents(const FString &Group, const FEnumerateEventsCallback &Delegate)=0
virtual void RequestEventGroupData(const FString &Group, const FRequestEventGroupDataCallback &Delegate)=0
virtual FArchive * GetHeaderArchive()=0
virtual void EnumerateStreams(const FNetworkReplayVersion &ReplayVersion, const int32 UserIndex, const FString &MetaString, const TArray< FString > &ExtraParms, const FEnumerateStreamsCallback &Delegate)=0
virtual void RefreshHeader()=0
virtual FString GetReplayID() const =0
virtual void AddUserToReplay(const FString &UserString)=0
virtual void StopStreaming()=0
virtual void GotoCheckpointIndex(const int32 CheckpointIndex, const FGotoCallback &Delegate, EReplayCheckpointType CheckpointType)=0
virtual void EnumerateEvents(const FString &ReplayName, const FString &Group, const int32 UserIndex, const FEnumerateEventsCallback &Delegate)=0
virtual void RequestEventGroupData(const FString &ReplayName, const FString &Group, const FRequestEventGroupDataCallback &Delegate)=0
virtual bool IsDataAvailableForTimeRange(const uint32 StartTimeInMS, const uint32 EndTimeInMS)=0
virtual void DownloadHeader(const FDownloadHeaderCallback &Delegate)=0
virtual EStreamingOperationResult SetDemoPath(const FString &DemoPath)=0
virtual void RequestEventData(const FString &ReplayName, const FString &EventID, const int32 UserIndex, const FRequestEventDataCallback &Delegate)=0
virtual FArchive * GetCheckpointArchive()=0
virtual void RenameReplay(const FString &ReplayName, const FString &NewName, const FRenameReplayCallback &Delegate)=0
virtual FArchive * GetStreamingArchive()=0
static NETWORKREPLAYSTREAMING_API FOnReplayGetAnalyticsAttributes OnReplayGetAnalyticsAttributes
Definition NetworkReplayStreaming.h:676
virtual void SetTimeBufferHintSeconds(const float InTimeBufferHintSeconds)=0
virtual NETWORKREPLAYSTREAMING_API UE::Net::EHandleNetResult HandleLastError(UE::Net::FNetResultManager &ResultManager)
Definition NetworkReplayStreaming.cpp:198
virtual void AddEvent(const uint32 TimeInMS, const FString &Group, const FString &Meta, const TArray< uint8 > &Data)=0
NETWORKREPLAYSTREAMING_API virtual PRAGMA_ENABLE_DEPRECATION_WARNINGS bool HasError() const
Definition NetworkReplayStreaming.cpp:188
virtual void RenameReplayFriendlyName(const FString &ReplayName, const FString &NewFriendlyName, const int32 UserIndex, const FRenameReplayCallback &Delegate)=0
virtual NETWORKREPLAYSTREAMING_API void SetExtendedError(UE::Net::FNetResult &&Result)
Definition NetworkReplayStreaming.cpp:193
virtual NETWORKREPLAYSTREAMING_API TArray< FAnalyticsEventAttribute > AppendCommonReplayAttributes(TArray< FAnalyticsEventAttribute > &&Attrs) const
Definition NetworkReplayStreaming.cpp:159
virtual void SearchEvents(const FString &EventGroup, const FSearchEventsCallback &Delegate)=0
virtual void KeepReplay(const FString &ReplayName, const bool bKeep, const int32 UserIndex, const FKeepReplayCallback &Delegate)=0
virtual void GotoTimeInMS(const uint32 TimeInMS, const FGotoCallback &Delegate, EReplayCheckpointType CheckpointType)=0
virtual void RequestEventData(const FString &ReplayName, const FString &EventID, const FRequestEventDataCallback &Delegate)=0
virtual void Exec(const TCHAR *Cmd, FOutputDevice &Ar)
Definition NetworkReplayStreaming.h:673
virtual void StartStreaming(const FStartStreamingParameters &Params, const FStartStreamingCallback &Delegate)=0
virtual void RenameReplayFriendlyName(const FString &ReplayName, const FString &NewFriendlyName, const FRenameReplayCallback &Delegate)=0
virtual void RenameReplay(const FString &ReplayName, const FString &NewName, const int32 UserIndex, const FRenameReplayCallback &Delegate)=0
virtual void SetHighPriorityTimeRange(const uint32 StartTimeInMS, const uint32 EndTimeInMS)=0
virtual void EnumerateRecentStreams(const FNetworkReplayVersion &ReplayVersion, const int32 UserIndex, const FEnumerateStreamsCallback &Delegate)=0
virtual void RequestEventData(const FString &EventID, const FRequestEventDataCallback &Delegate)=0
PRAGMA_DISABLE_DEPRECATION_WARNINGS virtual NETWORKREPLAYSTREAMING_API ENetworkReplayError::Type GetLastError() const
Definition NetworkReplayStreaming.cpp:179
NETWORKREPLAYSTREAMING_API INetworkReplayStreamer()
virtual void KeepReplay(const FString &ReplayName, const bool bKeep, const FKeepReplayCallback &Delegate)=0
virtual void FlushCheckpoint(const uint32 TimeInMS)=0
virtual NETWORKREPLAYSTREAMING_API ~INetworkReplayStreamer()
virtual void DeleteFinishedStream(const FString &StreamName, const int32 UserIndex, const FDeleteFinishedStreamCallback &Delegate)=0
virtual bool IsDataAvailable() const =0
virtual bool IsLoadingCheckpoint() const =0
virtual void RequestEventGroupData(const FString &ReplayName, const FString &Group, const int32 UserIndex, const FRequestEventGroupDataCallback &Delegate)=0
virtual EReplayStreamerState GetReplayStreamerState() const
Definition NetworkReplayStreaming.h:602
virtual void EnumerateEvents(const FString &ReplayName, const FString &Group, const FEnumerateEventsCallback &Delegate)=0
virtual bool IsLive() const =0
virtual uint32 GetTotalDemoTime() const =0
virtual uint32 GetMaxFriendlyNameSize() const =0
virtual void UpdateTotalDemoTime(uint32 TimeInMS)=0
Definition NetworkReplayStreaming.h:684
virtual TSharedPtr< INetworkReplayStreamer > CreateReplayStreamer()=0
virtual void Flush()
Definition NetworkReplayStreaming.h:687
Definition SharedPointer.h:692
Definition NetworkReplayStreaming.h:103
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition AnalyticsEventAttribute.h:48
Definition NetworkReplayStreaming.h:297
Definition NetworkReplayStreaming.h:348
FReplayEventList ReplayEventList
A list of events that were found.
Definition NetworkReplayStreaming.h:350
Definition NetworkReplayStreaming.h:320
TArray< FString > CorruptedStreams
A list of streams (by name) that were found and were corrupted.
Definition NetworkReplayStreaming.h:325
TArray< FNetworkReplayStreamInfo > FoundStreams
A list of streams that were found.
Definition NetworkReplayStreaming.h:322
Definition NetworkReplayStreaming.h:268
int64 ExtraTimeMS
Definition NetworkReplayStreaming.h:271
FReplayCheckpointInfo CheckpointInfo
Info about the checkpoint that was loaded as a result of the request.
Definition NetworkReplayStreaming.h:274
Definition JsonSerializable.h:17
Definition NetworkReplayStreaming.h:459
int64 RequiredSpace
Definition NetworkReplayStreaming.h:467
FString NewReplayName
Definition NetworkReplayStreaming.h:462
Definition NetworkReplayStreaming.h:71
int32 LengthInMS
Definition NetworkReplayStreaming.h:87
FString Name
Definition NetworkReplayStreaming.h:75
FDateTime Timestamp
Definition NetworkReplayStreaming.h:81
int32 Changelist
Definition NetworkReplayStreaming.h:93
FNetworkReplayStreamInfo()
Definition NetworkReplayStreaming.h:72
int64 SizeInBytes
Definition NetworkReplayStreaming.h:84
bool bIsLive
Definition NetworkReplayStreaming.h:96
bool bShouldKeep
Definition NetworkReplayStreaming.h:99
FString FriendlyName
Definition NetworkReplayStreaming.h:78
int32 NumViewers
Definition NetworkReplayStreaming.h:90
Definition NetworkReplayStreaming.h:475
Information about a checkpoint that was loaded as a result of a Goto Request.
Definition NetworkReplayStreaming.h:255
static constexpr uint32 NO_CHECKPOINT
Definition NetworkReplayStreaming.h:261
uint32 CheckpointIndex
Definition NetworkReplayStreaming.h:264
uint32 CheckpointStartTime
Definition NetworkReplayStreaming.h:263
static constexpr uint32 INVALID_CHECKPOINT
Indicates an invalid checkpoint, or a bad request.
Definition NetworkReplayStreaming.h:257
Definition NetworkReplayStreaming.h:373
TArray< uint8 > ReplayEventListItem
A replay event with its data parameter filled in.
Definition NetworkReplayStreaming.h:375
Definition NetworkReplayStreaming.h:398
TArray< FReplayEventListItem > ReplayEventListItems
Definition NetworkReplayStreaming.h:399
TArray< FRequestEventDataResult > ReplayEventListResults
Definition NetworkReplayStreaming.h:400
Definition NetworkReplayStreaming.h:431
TArray< FString > CorruptedStreams
A list of streams (by name) that were found and were corrupted.
Definition NetworkReplayStreaming.h:436
TArray< FNetworkReplayStreamInfo > FoundStreams
Definition NetworkReplayStreaming.h:433
Definition NetworkReplayStreaming.h:488
bool bRecord
Definition NetworkReplayStreaming.h:494
FString CustomName
Definition NetworkReplayStreaming.h:489
FString DemoURL
Definition NetworkReplayStreaming.h:491
FString FriendlyName
Definition NetworkReplayStreaming.h:490
TArray< int32 > UserIndices
Definition NetworkReplayStreaming.h:492
FNetworkReplayVersion ReplayVersion
Definition NetworkReplayStreaming.h:493
Definition NetworkReplayStreaming.h:228
bool bRecording
Whether or not Recording was requested (vs. Playback).
Definition NetworkReplayStreaming.h:230
Definition NetworkReplayStreaming.h:215
bool WasSuccessful() const
Definition NetworkReplayStreaming.h:220
virtual ~FStreamingResultBase()
Definition NetworkReplayStreaming.h:218
EStreamingOperationResult Result
Definition NetworkReplayStreaming.h:216