UPackageMapClient

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Engine/PackageMapClient.h

Include

#include "Engine/PackageMapClient.h"

Syntax

class UPackageMapClient : public UPackageMap

Variables

Name Description

Protected variable

FPackageMapAckS...

 

AckState

Protected variable

UNetConnection ...

 

Connection

Protected variable

FOutBunch *

 

CurrentExportBunch

Protected variable

TSet< FNetworkG...

 

CurrentExportNetGUIDs

Protected variable

TMap< FNetworkG...

 

CurrentQueuedBunchNetGUIDs

Set of Actor NetGUIDs with currently queued bunches and the time they were first queued.

Protected variable

TArray< FOutBun...

 

ExportBunches

Bunches of NetGUID/path tables to send with the current content bunch.

Protected variable

TArray< TArray<...

 

ExportGUIDArchives

Protected variable

int32

 

ExportNetGUIDCount

Protected variable

TSharedPtr< FNe...

 

GuidCache

Protected variable

TArray< FNetwor...

 

MustBeMappedGuidsInLastBunch

Protected variable

TSet< uint64 >

 

NetFieldExports

List of net field exports that need to go out on next bunch

Public variable

TMap< FNetworkG...

 

NetGUIDExportCountMap

Protected variable

FPackageMapAckS...

 

OverrideAckState

Protected variable

TArray< FNetwor...

 

PendingAckGUIDs

Constructors

Name Description

Public function

UPackageMapClient

(
    const FObjectInitializer& ObjectIn...
)

Destructors

Name Description

Public function Virtual

~UPackageMapClient()

Functions

Name Description

Public function

void

 

AddNetFieldExportGroup

(
    const FString& PathName,
    TSharedPtr< FNetFieldExportGroup > ...
)

Public function Static

void

 

AddReferencedObjects

(
    UObject* InThis,
    FReferenceCollector& Collector
)

Public function

void

 

AppendExportBunches

(
    TArray< FOutBunch* >& Outgoin...
)

Public function

void

 

AppendExportData

(
    FArchive& Archive
)

Protected function

void

 

AppendNetExportGUIDs

(
    FArchive& Archive
)

Protected function

void

 

AppendNetFieldExports

(
    FArchive& Archive
)

Functions to help with exporting/importing net field export info

Protected function

void

 

AppendNetFieldExportsInternal

(
    FArchive& Archive,
    const TSet< uint64 >& InNetFieldEx...,
    EAppendNetExportFlags Flags
)

Public function

void

 

ConsumeQueuedActorDelinquencyAnalytics

Protected function

bool

 

ExportNetGUID

(
    FNetworkGUID NetGUID,
    UObject* Object,
    FString PathName,
    UObject* ObjOuter
)

Exports the NetGUID and paths needed to the CurrentExportBunch

Protected function

bool

 

ExportNetGUIDForReplay

(
    FNetworkGUID&,
    UObject* Object,
    FString& PathName,
    UObject* ObjOuter
)

Protected function

void

 

ExportNetGUIDHeader()

Called when an export bunch is finished.

Public function

UNetConnecti...

 

GetConnection()

Public function Const

FString

 

GetFullNetGUIDPath

(
    const FNetworkGUID& NetGUID
)

Public function

TArray< FNet...

 

GetMustBeMappedGuidsInLastBunch()

Public function

TSharedPtr< ...

 

GetNetFieldExportGroup

(
    const FString& PathName
)

Functions to help with exporting/importing net field info

Public function Const

TSharedPtr< ...

 

GetNetFieldExportGroupChecked

(
    const FString& PathName
)

Public function Const

int32

 

GetNumQueuedBunchNetGUIDs()

Public function Const

const FNetQu...

 

GetQueuedActorDelinquencyAnalytics()

Public function

void

 

HandleUnAssignedObject

(
    UObject* Obj
)

Immediately export an Object's NetGUID. This will

Public function

void

 

Initialize

(
    UNetConnection* InConnection,
    TSharedPtr< FNetGUIDCache > InNetGU...
)

Protected function

FNetworkGUID

 

InternalLoadObject

(
    FArchive& Ar,
    UObject*& Object,
    int InternalLoadObjectRecursionCoun...
)

Loads a UObject from an FArchive stream.

Protected function

void

 

InternalWriteObject

(
    FArchive& Ar,
    FNetworkGUID NetGUID,
    UObject* Object,
    FString ObjectPathName,
    UObject* ObjectOuter
)

Writes an object NetGUID given the NetGUID and either the object itself, or FString full name of the object.

Public function Virtual Const

bool

 

IsGUIDPending

(
    const FNetworkGUID& NetGUID
)

Returns true if this guid is directly pending, or depends on another guid that is pending

Protected function Const

bool

 

IsNetGUIDAuthority()

Return false if our connection is the netdriver's server connection This is ugly but probably better than adding a shadow variable that has to be set/cleared at the net driver level.

Public function

bool

 

NetGUIDHasBeenAckd

(
    FNetworkGUID NetGUID
)

Returns true if this PackageMap's connection has ACK'd the given NetGUID.

Protected function

bool

 

ObjectLevelHasFinishedLoading

(
    UObject* Obj
)

Returns true if Object's outer level has completely finished loading.

Public function

void

 

OverridePackageMapExportAckStatus

(
    FPackageMapAckState* NewState
)

Public function

void

 

ReceiveExportData

(
    FArchive& Archive
)

Protected function

void

 

ReceiveNetExportGUIDs

(
    FArchive& Archive
)

Protected function

void

 

ReceiveNetFieldExports

(
    FArchive& Archive
)

Public function

void

 

ReceiveNetGUIDBunch

(
    FInBunch& InBunch
)

Public function

void

 

ResetAckState()

Resets the AckState and empties the PendingAckGuids, not meant to reset the OverrideAckState.

Public function

void

 

ResetQueuedActorDelinquencyAnalytics()

Public function

void

 

RestorePackageMapExportAckStatus

(
    const FPackageMapAckState& InState
)

Public function

void

 

SavePackageMapExportAckStatus

(
    FPackageMapAckState& OutState
)

Public function

TUniquePtr< ...

 

ScopedIgnoreReceivedExportGUIDs()

Public function

void

 

SerializeNetFieldExportDelta

(
    FArchive& Ar
)

Public function

void

 

SerializeNetFieldExportGroupMap

(
    FArchive& Ar,
    bool bClearPendingExports
)

Public function Virtual

void

 

SetHasQueuedBunches

(
    const FNetworkGUID& NetGUID,
    bool bHasQueuedBunches
)

Set rather this actor is associated with a channel with queued bunches

Protected function

bool

 

ShouldSendFullPath

(
    const UObject* Object,
    const FNetworkGUID& NetGUID
)

Do we need to include the full path of this object for the client to resolve it?

Public function

void

 

SyncPackageMapExportAckStatus

(
    const UPackageMapClient* Sourc...
)

Public function

void

 

TrackNetFieldExport

(
    FNetFieldExportGroup* NetField...,
    const int32 NetFieldExportHandle
)

Overridden from UPackageMap

Name Description

Public function Virtual Const

FNetworkGUID

 

GetNetGUIDFromObject

(
    const UObject* InObject
)

Public function Virtual

void

 

GetNetGUIDStats

(
    int32& AckCount,
    int32& UnAckCount,
    int32& PendingCount
)

Returns stats for NetGUID usage

Public function Virtual

UObject *...

 

GetObjectFromNetGUID

(
    const FNetworkGUID& NetGUID,
    const bool bIgnoreMustBeMapped
)

Public function Virtual Const

bool

 

IsGUIDBroken

(
    const FNetworkGUID& NetGUID,
    const bool bMustBeRegistered
)

Public function Virtual

void

 

LogDebugInfo

(
    FOutputDevice& Ar
)

Prints debug info about this package map's state

Public function Virtual

void

 

NotifyBunchCommit

(
    const int32 OutPacketId,
    const FOutBunch* OutBunch
)

Called when a bunch is committed to the connection's Out buffer.

Public function Virtual

void

 

NotifyStreamingLevelUnload

(
    UObject* UnloadedLevel
)

Public function Virtual

bool

 

PrintExportBatch()

Public function Virtual

void

 

ReceivedAck

(
    const int32 AckPacketId
)

Called by the PackageMap's UConnection after a receiving an ack Updates the respective GUIDs that were acked by this packet

Public function Virtual

void

 

ReceivedNak

(
    const int32 NakPacketId
)

Handles a NACK for given packet id.

Public function Virtual

void

 

ReportSyncLoadsForProperty

(
    const FProperty* Property,
    const UObject* Object
)

Public function Virtual

void

 

ResetTrackedSyncLoadedGuids()

For sync load debugging with LogNetSyncLoads.

Protected function Virtual

UObject *...

 

ResolvePathAndAssignNetGUID

(
    const FNetworkGUID& NetGUID,
    const FString& PathName
)

Public function Virtual

bool

 

SerializeNewActor

(
    FArchive& Ar,
    UActorChannel* Channel,
    AActor*& Actor
)

Standard method of serializing a new actor.

Public function Virtual

bool

 

SerializeObject

(
    FArchive& Ar,
    UClass* InClass,
    UObject*& Obj,
    FNetworkGUID* OutNetGUID
)

This is the meat of the PackageMap class which serializes a reference to Object.

Public function Virtual

bool

 

WriteObject

(
    FArchive& Ar,
    UObject* InOuter,
    FNetworkGUID NetGUID,
    FString ObjName
)

Slimmed down version of SerializeObject, that writes an object reference given a NetGUID and name (e.g, it does not require the actor to actually exist anymore to serialize the reference).

Overridden from UObject

Name Description

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.