UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DataStreamManager.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#include "DataStream.h"
8#include "DataStreamManager.generated.h"
9
10enum class EDataStreamSendStatus : uint8;
11class UDataStream;
12
14{
15 // DataStream was successfully created.
16 Success,
17 // A DataStream with that name is already created.
19 // There's no DataStreamDefinition for the requested DataStream.
21 // There's something wrong with the DataStreamDefinition for the requested DataStream.
23 // There's a fixed limit on how many unique data streams can be created.
25};
26
27namespace UE::Net::Private
28{
29 class FNetExports;
30}
31
40{
42
43public:
45
46 // UDataStream interface
47
49 virtual IRISCORE_API void Init(const FInitParameters& InitParams) override;
50
52 IRISCORE_API void Deinit();
53
54 IRISCORE_API virtual void Update(const FUpdateParameters& Params) override;
55
57 IRISCORE_API virtual EWriteResult BeginWrite(const FBeginWriteParameters& Params) override;
58
61
63 IRISCORE_API virtual void EndWrite() override;
64
66 IRISCORE_API virtual void ReadData(UE::Net::FNetSerializationContext& context) override;
67
69 IRISCORE_API virtual void ProcessPacketDeliveryStatus(UE::Net::EPacketDeliveryStatus Status, FDataStreamRecord const* Record) override;
70
72 IRISCORE_API virtual bool HasAcknowledgedAllReliableData() const override;
73
74 // DataStreamManager specifics
75
79 IRISCORE_API static bool IsKnownStreamDefinition(const FName StreamName);
80
91
97 IRISCORE_API const UDataStream* GetStream(const FName StreamName) const;
98
104 IRISCORE_API UDataStream* GetStream(const FName StreamName);
105
111 IRISCORE_API void CloseStream(const FName StreamName);
112
114 IRISCORE_API EDataStreamState GetStreamState(const FName StreamName) const;
115
117 IRISCORE_API void SetSendStatus(const FName StreamName, EDataStreamSendStatus Status);
118
120 IRISCORE_API EDataStreamSendStatus GetSendStatus(const FName StreamName) const;
121
122 UE::Net::Private::FNetExports& GetNetExports();
123
124private:
126
127 static void AddReferencedObjects(UObject* Object, FReferenceCollector& Collector);
128
129private:
130 class FImpl;
132};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ECreateDataStreamResult
Definition DataStreamManager.h:14
EDataStreamSendStatus
Definition DataStream.h:49
void Init()
Definition LockFreeList.h:4
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition UObjectGlobals.h:2492
Definition DataStreamManager.cpp:20
Definition DataStreamManager.h:40
Definition DataStream.h:60
EDataStreamState
Definition DataStream.h:84
EWriteResult
Definition DataStream.h:65
Definition NetSerializationContext.h:31
Definition NetExports.h:17
Definition Object.h:95
Definition ExpressionParserTypes.h:21
Definition NetworkVersion.cpp:28
EPacketDeliveryStatus
Definition PacketNotification.h:12
Definition DataStream.h:39
Definition PimplPtr.h:50
Definition DataStream.h:124
Definition DataStream.h:102
Definition DataStream.h:132