UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChunkedDataStream.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "ChunkedDataStream.generated.h"
8
9namespace UE::Net
10{
11 struct FIrisPackageMapExports;
12 namespace Private
13 {
14 class FChunkedDataWriter;
15 class FChunkedDataReader;
16 }
17}
18
29
40
45UCLASS(MinimalAPI)
47{
49
50public:
52 {
53 Ok,
54 WaitingForMustBeMappedReferences,
55 NothingToDispatch
56 };
57
64 IRISCORE_API bool EnqueuePayload(const TSharedPtr<TArray64<uint8>>& Payload);
65
71 IRISCORE_API EDispatchResult DispatchReceivedPayload(TFunctionRef<void(TConstArrayView64<uint8>)> DispatchPayloadFunction);
72
78 IRISCORE_API EDispatchResult DispatchReceivedPayloads(TFunctionRef<void(TConstArrayView64<uint8>)> DispatchPayloadFunction);
79
81 IRISCORE_API uint32 GetNumReceivedPayloadsPendingDispatch() const;
82
85 IRISCORE_API const UIrisObjectReferencePackageMap* GetPackageMap() const;
86
88 IRISCORE_API uint32 GetQueuedByteCount() const;
89
94 IRISCORE_API void SetMaxUndispatchedPayloadBytes(uint32 MaxUndispatchedPayloadBytes);
95
100 IRISCORE_API void SetMaxEnqueuedPayloadBytes(uint32 MaxEnqueuedPayloadBytes);
101
105 IRISCORE_API bool HasError() const;
106
107protected:
108
109 // UDataStream interface
110 IRISCORE_API virtual void Init(const UDataStream::FInitParameters& Params) override;
111 IRISCORE_API virtual void Deinit() override;
112
113 IRISCORE_API virtual EWriteResult BeginWrite(const FBeginWriteParameters& Params) override;
114 IRISCORE_API virtual EWriteResult WriteData(UE::Net::FNetSerializationContext& Context, FDataStreamRecord const*& OutRecord) override;
115
116 IRISCORE_API virtual void ReadData(UE::Net::FNetSerializationContext& Context) override;
117 IRISCORE_API virtual void ProcessPacketDeliveryStatus(UE::Net::EPacketDeliveryStatus Status, FDataStreamRecord const* Record) override;
118 IRISCORE_API virtual bool HasAcknowledgedAllReliableData() const override;
119
120private:
123
124 UE::Net::Private::FChunkedDataWriter* ChunkedWriter = nullptr;
125 UE::Net::Private::FChunkedDataReader* ChunkedReader = nullptr;
126
129};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ChunkedDataStream.h:32
IRISCORE_API UIrisObjectReferencePackageMap * GetPackageMap()
Definition ChunkedDataStream.cpp:148
Definition ChunkedDataStream.h:21
IRISCORE_API UIrisObjectReferencePackageMap * GetPackageMap()
Definition ChunkedDataStream.cpp:138
Definition AssetRegistryState.h:50
Definition SharedPointer.h:692
Definition ChunkedDataStream.h:47
EDispatchResult
Definition ChunkedDataStream.h:52
Definition DataStream.h:60
Definition IrisObjectReferencePackageMap.h:42
Definition IrisObjectReferencePackageMap.h:54
Definition NetSerializationContext.h:31
Definition ChunkedDataReader.h:26
Definition ChunkedDataWriter.h:19
Definition IrisObjectReferencePackageMap.h:72
Definition OverriddenPropertySet.cpp:45
Definition NetworkVersion.cpp:28
EPacketDeliveryStatus
Definition PacketNotification.h:12
Definition DataStream.h:39
Definition ObjectPtr.h:488
Definition DataStream.h:102