209 Commits

Author SHA1 Message Date
mattias hornlund
09159f1928 NetToken
- Added support for separate indices per NetTokenDataStore to make it possible to use fewer bits for the index for types with few exports.

#rb Peter.Engstrom

[CL 36757497 by mattias hornlund in 5.5 branch]
2024-10-01 19:30:24 -04:00
peter engstrom
7500c70a68 NetCore - Implement FConnectionHandle equal operator manually.
#rnx
#rb mattias.hornlund

[CL 36750288 by peter engstrom in 5.5 branch]
2024-10-01 18:12:33 -04:00
peter engstrom
ec227a3627 NetCore - Implemented FConnectionHandle which carry both parent connection and child connection information. This can be usefule for APIs where it's important to keep track of child connections as well.
#rb LouisPhilippe.Seguin, carles.fernandez

[CL 36750206 by peter engstrom in 5.5 branch]
2024-10-01 18:11:38 -04:00
mattias hornlund
93d29af692 Iris/Networking
- Enabled use of NetTokens/NetTokenStore and NetTokenDataStores outside of Iris to facilitate exporting data from shared serialization paths
- NetTokenStore and NetTokenDataStores are now owned by NetDriver.
- Added support for CustomExport bunches to carry data assoiciated with NetTokenExports

GameplayTags
- GameplayTagNetSerializer now respects settings from GameplayTags.ini
- Implemented placeholder GameplayTagNetTokenDataStore.

GameplayTags are now using NetTokens to export data if running in the new dynamic mode.

#rb jodon.karlik, Ryan.Gerleve

[CL 36380672 by mattias hornlund in 5.5 branch]
2024-09-18 04:10:29 -04:00
henrik karlsson
78ba369d2c Fixed linker errors on some console platform when building modular builds. Fixes involves moving ctor/dtor and friends from header to cpp and dll import/export
[CL 35710553 by henrik karlsson in ue5-main branch]
2024-08-21 13:44:16 -04:00
louisphilippe seguin
02920921a0 Iris
* Downgraded FNetProfilerObjectInstance to a 32bit hash to save bandwidth when sending the FCreationHeader of new replicated objects.

#rnx

[CL 35564588 by louisphilippe seguin in ue5-main branch]
2024-08-15 11:28:13 -04:00
joe bestrotheray
fe2d522a09 Export NetChannel from netcore module
#rb carles.fernandez, matt.harris, Mattias.Hornlund, Peter.Engstrom

[CL 35561347 by joe bestrotheray in ue5-main branch]
2024-08-15 09:30:39 -04:00
joe bestrotheray
c65ca6cc5a Fix partial net traces:
- make some net trace events important so they're cached and written to all traces

#rb carles.fernandez, matt.harris, Mattias.Hornlund, Peter.Engstrom

[CL 35534881 by joe bestrotheray in ue5-main branch]
2024-08-14 11:15:50 -04:00
louisphilippe seguin
8ff5c0479e Iris
* Deleted use of static DefaultCreateNetRefHandleParams. The FCreateNetRefHandleParams default parameter values should be used instead.
* Deleted bCanReceive param from FCreateNetRefHandleParams. This was only used by some unit tests.
* Removed unused cache option param in InternalFlushStateData
* Misc API cleanup

#rnx

#rb Peter.Engstrom

[CL 35454663 by louisphilippe seguin in ue5-main branch]
2024-08-12 11:53:50 -04:00
marc audy
35f9ed49f3 Eliminate MSVC vtable padding and other packing cleanup in the associated classes
#rnx

[CL 35238395 by marc audy in ue5-main branch]
2024-08-01 01:01:38 -04:00
louisphilippe seguin
86afa0fbb5 Networking
Trivial code and comment fixes

#rnx
#rb Ryan.Gerleve

[CL 35016742 by louisphilippe seguin in ue5-main branch]
2024-07-23 09:12:33 -04:00
steve robb
206d9d76b4 Replaced EAutomationTestFlags::ApplicationContextMask with EAutomationTestFlags_ApplicationContextMask.
[CL 34335388 by steve robb in ue5-main branch]
2024-06-13 07:06:47 -04:00
louisphilippe seguin
0335caea8b Iris
* Made NetRefHandleError enum a bitflag

#rnx
#rb jon.fairchild

[CL 34018233 by louisphilippe seguin in ue5-main branch]
2024-05-30 19:04:13 -04:00
brandon schaefer
d1becd40a2 Remove the now deleted option to EnableAutoRTFM, this is default and now youve to explicitly disable it for a module
#rb neil.henning

[CL 34015057 by brandon schaefer in ue5-main branch]
2024-05-30 18:00:50 -04:00
louisphilippe seguin
f9b17563d9 NetBitArray
* Added safer ways to access internal buffers held by a FNetBitArray and FNetBitArrayView
* GetWord() can be used to safely access the full 32bit value to modify 32bit entries at once.
* GetDataChecked(NumWordSize) can be used to access the raw array buffer but will also validate that the maximum word iteration count is within the bounds of the NetBitArray
* Reset() has been deprecated in favor of ClearAllBits()

Iris
* Replaced usage of deprecated NetBitArray::Reset
* Replaced a few usages of unsafe GetData() with safer GetWord and GetDataChecked
* Replaced Reset with ClearAllBits

[CL 33692839 by louisphilippe seguin in ue5-main branch]
2024-05-16 13:31:10 -04:00
louisphilippe seguin
e89a87acde Iris
* Support runtime NetBitArray reallocations when maximum replicated object count is hit.
* FReplicationSystemParams can now configure an initial size for netobjet lists that can grow up to the MaxReplicatedObjectCount when the initialize size is all assigned to registered netobjets.
* Use InitialNetObjectListCount to set the initial list size.
* Use NetObjectListGrowCount to set by how many indexes we grow and realloca all netobject lists.
* Hitting the maximum active replicated object limit will now cause a fatal error and kill the process.

NetDriver
* Split Iris config into two structs: ReplicationSystemConfigClient and ReplicationSystemConfigServer

#rb bradley.heath, Peter.Engstrom

[CL 33647879 by louisphilippe seguin in ue5-main branch]
2024-05-14 22:04:11 -04:00
louisphilippe seguin
b0c40c2155 ReplicatedSubObjects
* Added some utility functions to count the amount of registered replicated objects of an actor

#rnx

#rb Jon.Fairchild

[CL 33270373 by louisphilippe seguin in ue5-main branch]
2024-04-26 13:44:13 -04:00
mattias hornlund
ceaa32ba79 Iris
- Fixed error in PropertyConditions.cpp

#rb Mattias.Hornlund

[CL 32894478 by mattias hornlund in ue5-main branch]
2024-04-11 12:39:28 -04:00
mattias hornlund
da0f053537 Optimized PreReplication to not lookup fRepChangedPropertyTracker unless required.
This also allows SetPropertyActiveOverride macros to be called outside of PreReplicate to move towards proper push model.
Removed some old deprecated code

#rb Peter.Engstrom

[CL 32891697 by mattias hornlund in ue5-main branch]
2024-04-11 11:19:30 -04:00
joe kirchoff
fb6334a7c2 [Backout] - CL32838690
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
Prevent clang analysis warnings for uninitialized data from FArchive derived readers

#rnx

[CL 32857977 by joe kirchoff in ue5-main branch]
2024-04-10 11:20:19 -04:00
joe kirchoff
76bd93d0de Prevent clang analysis warnings for uninitialized data from FArchive derived readers
#rnx

[CL 32838765 by joe kirchoff in ue5-main branch]
2024-04-09 16:44:38 -04:00
mattias hornlund
9be6fe524f Removed c++ 20 usage from FastArrayNetSerializer headers
#rb Peter.engstrom

[CL 32757647 by mattias hornlund in ue5-main branch]
2024-04-05 09:06:47 -04:00
louisphilippe seguin
75bca3f7d9 Iris
* Added official NetRefHandleError enum
* Added net.Iris.EnsureNetRefHandleError cvar. Used to control if NetRefHandle error should cause an ensure or not.
 -1=never ensure. 0=ensure on any error. 1..X=ensure only for specific error type
 Defaults to ensure on any error

#rb Bradley.Heath
#rnx

[CL 32584172 by louisphilippe seguin in ue5-main branch]
2024-03-28 13:28:54 -04:00
louisphilippe seguin
f77dcf2e5f Networking:
* Added Networking_FastArray_Apply csv scope to FastArray reception codepath
* Allows to track regressions in FastArray user code
* Exposed CSV Networking category via NetCore module export

#rb jordan.cristiano, Ryan.Gerleve

[CL 31952587 by louisphilippe seguin in ue5-main branch]
2024-03-01 14:56:21 -05:00
louisphilippe seguin
04da431991 Fix missing export dll tag to SetAnalyticsAppender
#rb louisphilippe.seguin
#rnx

[CL 31941779 by louisphilippe seguin in ue5-main branch]
2024-03-01 09:00:19 -05:00