UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DirectLinkStreamSender.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8
9#include "CoreTypes.h"
11
12
13namespace DirectLink
14{
15class FRemoteSceneView;
16class FHaveListReceiver;
17
28{
29public:
32 virtual void SetSceneSnapshot(TSharedPtr<FSceneSnapshot> SceneSnapshot) override;
33 virtual void Tick(double Now_s) override;
34 virtual void HandleHaveListMessage(const FDirectLinkMsg_HaveListMessage& Message) override; // update RemoteView
35
36public: // IStreamCommunicationInterface API
37 virtual FCommunicationStatus GetCommunicationStatus() const override { return CurrentCommunicationStatus; }
38
39private:
40 enum class EStep
41 {
42 Idle,
43 SetupScene,
44 ReceiveHaveList,
45 GenerateDelta,
46 SendDelta,
47 Synced,
48 };
49
50 EStep NextStep = EStep::Idle;
51 int32 SyncCycle = 0;
52
53 FScenePipeToNetwork PipeToNetwork;
54 TUniquePtr<FHaveListReceiver> HaveListReceiver;
55 double LastHaveListMessage_s = 0;
56
58 FCriticalSection NextSnapshotLock;
59 TSharedPtr<FSceneSnapshot> NextSnapshot;
60
62
63 // Reporting
64 FCommunicationStatus CurrentCommunicationStatus;
65};
66
67
68} // namespace DirectLink
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition SharedPointer.h:692
Definition UniquePtr.h:107
Definition DirectLinkMessages.h:218
Definition IMessageContext.h:26