FHttpNetworkReplayStreamer

Http network replay streaming manager

Windows
MacOS
Linux

Inheritance Hierarchy

INetworkReplayStreamer

FHttpNetworkReplayStreamer

References

Module

HttpNetworkReplayStreaming

Header

/Engine/Source/Runtime/NetworkReplayStreaming/HttpNetworkReplayStreaming/Public/HttpNetworkReplayStreaming.h

Include

#include "HttpNetworkReplayStreaming.h"

Syntax

class FHttpNetworkReplayStreamer : public INetworkReplayStreamer

Remarks

Http network replay streaming manager

Variables

Name Description

Public variable

bool

 

bStopStreamingCalled

Public variable

bool

 

bStreamIsLive

Public variable

FHttpStreamFArc...

 

CheckpointArchive

Public variable

FReplayEventLis...

 

CheckpointList

Public variable

int32

 

DeltaDownloadCheckpointIndex

Public variable

int32

 

DownloadCheckpointIndex

Public variable

TSet< FString >

 

EventGroupSet

Public variable

FGotoCallback

 

GotoCheckpointDelegate

Public variable

FHttpStreamFArc...

 

HeaderArchive

Public variable

uint32

 

HighPriorityEndTime

Public variable

TSharedPtr< FQu...

 

InFlightHttpRequest

Public variable

double

 

LastChunkTime

Public variable

int64

 

LastGotoTimeInMS

Public variable

double

 

LastRefreshCheckpointTime

Public variable

double

 

LastRefreshViewerTime

Public variable

uint32

 

LastTotalDemoTimeInMS

Public variable

int32

 

NumTotalStreamChunks

Public variable

TArray< TShared...

 

QueuedHttpRequests

Public variable

int32

 

RefreshViewerFails

Public variable

FNetworkReplayV...

 

ReplayVersion

Public variable

TMap< FString, ...

 

ResponseCache

Public variable

FString

 

ServerURL

Public variable

FString

 

SessionName

Public variable

FStartStreaming...

 

StartStreamingDelegate

Public variable

FHttpStreamFArc...

 

StreamArchive

Public variable

int32

 

StreamChunkIndex

Public variable

ENetworkReplayE...

 

StreamerLastError

Public variable

EStreamerState

 

StreamerState

Public variable

FString

 

StreamMetadata

Public variable

uint32

 

StreamTimeRangeEnd

Public variable

uint32

 

StreamTimeRangeStart

Public variable

uint32

 

TotalDemoTimeInMS

Public variable

uint32

 

TotalUploadBytes

Public variable

FString

 

ViewerName

Constructors

Name Description

Public function

FHttpNetworkReplayStreamer()

Functions

Name Description

Public function

void

 

AddCustomRequestToQueue

(
    TSharedPtr< FQueuedHttpRequest > Re...
)

Public function

void

 

AddRequestToQueue

(
    const EQueuedHttpRequestType::Type ...,
    TSharedPtr< class IHttpRequest, ESP...,
    const int32 InMaxRetries,
    const float InRetryDelay
)

Public function

void

 

AddResponseToCache

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse
)

Public function

void

 

CancelInFlightOrPendingTask

(
    const EQueuedHttpRequestType::Type ...
)

Public function Virtual

void

 

CancelStreamingRequests()

Public function

void

 

CleanupResponseCache()

Public function Virtual Const

bool

 

CompressBuffer

(
    const TArray< uint8 >& InBuffer,
    FHttpStreamFArchive& OutCompressed
)

Public function Virtual Const

bool

 

CompressRequest

(
    FHttpRequestPtr HttpRequest,
    const TArray< uint8 >& RequestBuff...
)

Public function

void

 

ConditionallyDownloadNextChunk()

Public function

void

 

ConditionallyEnumerateCheckpoints()

Public function

void

 

ConditionallyFlushStream()

Public function

void

 

ConditionallyRefreshViewer()

Public function Virtual Const

bool

 

DecompressBuffer

(
    FHttpStreamFArchive& InCompressed,
    TArray< uint8 >& OutBuffer
)

Public function Virtual Const

bool

 

DecompressResponse

(
    FHttpResponsePtr HttpResponse,
    TArray< uint8 >& ResultBuffer
)

Public function

void

 

EnumerateCheckpoints()

Public function

void

 

FlushCheckpointInternal

(
    uint32 TimeInMS
)

Public function

void

 

FlushStream()

Public function Virtual Const

FString

 

GetRecordingMetadata()

Public function Const

bool

 

HasPendingHttpRequests()

Public function

void

 

HttpAddUserFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpDownloadCheckpointDeltaFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpDownloadCheckpointFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpDownloadFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded,
    int32 RequestedStreamChunkIndex,
    bool bStreamWasLive
)

Public function

void

 

HttpDownloadHeaderFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded,
    FDownloadHeaderCallback Delegate
)

Public function

void

 

HttpEnumerateCheckpointsFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpEnumerateEventsFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded,
    FEnumerateEventsCallback EnumerateE...
)

Public function

void

 

HttpEnumerateSessionsFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded,
    FEnumerateStreamsCallback Delegate
)

Public function

void

 

HttpHeaderUploadFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpRefreshViewerFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpRequestEventDataFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded,
    FRequestEventDataCallback RequestEv...
)

Public function

void

 

HttpStartDownloadingFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpStartUploadingFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpStopUploadingFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpUploadCheckpointFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpUploadCustomEventFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

HttpUploadStreamFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded
)

Public function

void

 

InternalGotoCheckpointIndex

(
    const int32 CheckpointIndex,
    const FGotoCallback& Delegate,
    const FHttpRequestCompleteDelegate ...
)

Public function

void

 

InternalGotoTimeInMS

(
    const uint32 TimeInMS,
    const FGotoCallback& Delegate,
    bool bDelta
)

Public function Const

bool

 

IsHttpRequestInFlight()

Public function Const

bool

 

IsStreaming()

Public function Const

bool

 

IsTaskPendingOrInFlight

(
    const EQueuedHttpRequestType::Type ...
)

Public function

void

 

KeepReplayFinished

(
    FHttpRequestPtr HttpRequest,
    FHttpResponsePtr HttpResponse,
    bool bSucceeded,
    FKeepReplayCallback KeepReplayDeleg...,
    FString ReplayName
)

Purposefully passing a copy of a string here, as we call this from a delegate and don't want to inadvertently capture a reference which may go out of scope.

Public function

bool

 

ProcessNextHttpRequest()

Public function Virtual

void

 

ProcessRequestInternal

(
    TSharedPtr< class IHttpRequest, ESP...
)

Public function

void

 

RefreshViewer

(
    const bool bFinal
)

Public function

void

 

RequestFinished

(
    EStreamerState ExpectedStreamerStat...,
    EQueuedHttpRequestType::Type Expect...,
    FHttpRequestPtr HttpRequest
)

Delegates

Public function

bool

 

RetryRequest

(
    TSharedPtr< FQueuedHttpRequest > Re...,
    FHttpResponsePtr HttpResponse,
    const bool bIgnoreResponseCode
)

Public function

void

 

SetLastError

(
    const ENetworkReplayError::Type InL...
)

Public function

void

 

StopUploading()

Public function Virtual Const

bool

 

SupportsCompression()

Public function

void

 

Tick

(
    const float DeltaTime
)

Public function

void

 

UploadHeader()

FHttpNetworkReplayStreamer

Overridden from INetworkReplayStreamer

Name Description

Public function Virtual

void

 

AddEvent

(
    const uint32 TimeInMS,
    const FString& Group,
    const FString& Meta,
    const TArray< uint8 >& Data
)

Public function Virtual

void

 

AddOrUpdateEvent

(
    const FString& Name,
    const uint32 TimeInMS,
    const FString& Group,
    const FString& Meta,
    const TArray< uint8 >& Data
)

Public function Virtual

void

 

AddUserToReplay

(
    const FString& UserString
)

Adds a join-in-progress user to the set of users associated with the currently recording replay (if any)

Public function Virtual

void

 

DeleteFinishedStream

(
    const FString& StreamName,
    const int32 UserIndex,
    const FDeleteFinishedStreamCallback...
)

Public function Virtual

void

 

DeleteFinishedStream

(
    const FString& StreamName,
    const FDeleteFinishedStreamCallback...
)

Attempts to delete the stream with the specified name. May execute asynchronously.

Public function Virtual

void

 

DownloadHeader

(
    const FDownloadHeaderCallback& Del...
)

Public function Virtual

void

 

EnumerateEvents

(
    const FString& Group,
    const FEnumerateEventsCallback& De...
)

Public function Virtual

void

 

EnumerateEvents

(
    const FString& ReplayName,
    const FString& Group,
    const FEnumerateEventsCallback& De...
)

Public function Virtual

void

 

EnumerateEvents

(
    const FString& ReplayName,
    const FString& Group,
    const int32 UserIndex,
    const FEnumerateEventsCallback& De...
)

Public function Virtual

void

 

EnumerateRecentStreams

(
    const FNetworkReplayVersion& Repla...,
    const int32 UserIndex,
    const FEnumerateStreamsCallback& D...
)

Retrieves the streams that have been recently viewed. May execute asynchronously.

Public function Virtual

void

 

EnumerateStreams

(
    const FNetworkReplayVersion& Repla...,
    const int32 UserIndex,
    const FString& MetaString,
    const TArray< FString >& ExtraParm...,
    const FEnumerateStreamsCallback& D...
)

Retrieves the streams that are available for viewing.

Public function Virtual

void

 

FlushCheckpoint

(
    const uint32 TimeInMS
)

Public function Virtual

FArchive ...

 

GetCheckpointArchive()

Public function Virtual Const

EStreamingOp...

 

GetDemoPath

(
    FString& DemoPath
)

Gets the current base directory where Demos are stored.

Public function Virtual

FArchive ...

 

GetHeaderArchive()

Public function Virtual Const

ENetworkRepl...

 

GetLastError()

Returns the last error that occurred while streaming replays

Public function Virtual Const

uint32

 

GetMaxFriendlyNameSize()

Returns the maximum size of the friendly name text for this streamer, or 0 for unlimited.

Public function Virtual Const

FString

 

GetReplayID()

Returns the active replay name

Public function Virtual

FArchive ...

 

GetStreamingArchive()

Public function Virtual Const

uint32

 

GetTotalDemoTime()

Public function Virtual

void

 

GotoCheckpointIndex

(
    const int32 CheckpointIndex,
    const FGotoCallback& Delegate,
    EReplayCheckpointType CheckpointTyp...
)

Public function Virtual

void

 

GotoTimeInMS

(
    const uint32 TimeInMS,
    const FGotoCallback& Delegate,
    EReplayCheckpointType CheckpointTyp...
)

Public function Virtual Const

bool

 

IsCheckpointTypeSupported

(
    EReplayCheckpointType CheckpointTyp...
)

Public function Virtual Const

bool

 

IsDataAvailable()

Public function Virtual

bool

 

IsDataAvailableForTimeRange

(
    const uint32 StartTimeInMS,
    const uint32 EndTimeInMS
)

Public function Virtual Const

bool

 

IsLive()

Returns true if the playing stream is currently in progress

Public function Virtual Const

bool

 

IsLoadingCheckpoint()

Public function Virtual

void

 

KeepReplay

(
    const FString& ReplayName,
    const bool bKeep,
    const FKeepReplayCallback& Delegat...
)

Used to commit a replay to permanent storage.

Public function Virtual

void

 

KeepReplay

(
    const FString& ReplayName,
    const bool bKeep,
    const int32 UserIndex,
    const FKeepReplayCallback& Delegat...
)

Public function Virtual

void

 

RefreshHeader()

Public function Virtual

void

 

RenameReplay

(
    const FString& ReplayName,
    const FString& NewName,
    const int32 UserIndex,
    const FRenameReplayCallback& Deleg...
)

Public function Virtual

void

 

RenameReplay

(
    const FString& ReplayName,
    const FString& NewName,
    const FRenameReplayCallback& Deleg...
)

Used to change the name of a replay.

Public function Virtual

void

 

RenameReplayFriendlyName

(
    const FString& ReplayName,
    const FString& NewFriendlyName,
    const int32 UserIndex,
    const FRenameReplayCallback& Deleg...
)

Public function Virtual

void

 

RenameReplayFriendlyName

(
    const FString& ReplayName,
    const FString& NewFriendlyName,
    const FRenameReplayCallback& Deleg...
)

Used to change the friendly name of a replay.

Public function Virtual

void

 

RequestEventData

(
    const FString& EventId,
    const FRequestEventDataCallback& D...
)

Public function Virtual

void

 

RequestEventData

(
    const FString& ReplayName,
    const FString& EventId,
    const FRequestEventDataCallback& D...
)

Public function Virtual

void

 

RequestEventData

(
    const FString& ReplayName,
    const FString& EventId,
    const int32 UserIndex,
    const FRequestEventDataCallback& D...
)

Public function Virtual

void

 

RequestEventGroupData

(
    const FString& ReplayName,
    const FString& Group,
    const FRequestEventGroupDataCallbac...
)

Public function Virtual

void

 

RequestEventGroupData

(
    const FString& Group,
    const FRequestEventGroupDataCallbac...
)

Public function Virtual

void

 

RequestEventGroupData

(
    const FString& ReplayName,
    const FString& Group,
    const int32 UserIndex,
    const FRequestEventGroupDataCallbac...
)

Public function Virtual

void

 

SearchEvents

(
    const FString& EventGroup,
    const FSearchEventsCallback& Deleg...
)

Public function Virtual

EStreamingOp...

 

SetDemoPath

(
    const FString& DemoPath
)

Changes the base directory where Demos are stored.

Public function Virtual

void

 

SetHighPriorityTimeRange

(
    const uint32 StartTimeInMS,
    const uint32 EndTimeInMS
)

Public function Virtual

void

 

SetTimeBufferHintSeconds

(
    const float InTimeBufferHintSeconds
)

Sets a hint for how much data needs to be kept in memory.

Public function Virtual

void

 

StartStreaming

(
    const FStartStreamingParameters& P...,
    const FStartStreamingCallback& Del...
)

INetworkReplayStreamer implementation

Public function Virtual

void

 

StopStreaming()

Public function Virtual

void

 

UpdatePlaybackTime

(
    uint32 TimeInMS
)

Public function Virtual

void

 

UpdateTotalDemoTime

(
    uint32 TimeInMS
)

Enums

Name

Description

Public enum

EStreamerState

EStreamerState - Overall state of the streamer

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss