#rb Per.Larsson
#rnx
- Moved the priming code to it's own code files.
- Priming no longer uses FOnDemandIoBackend but manages its own requests.
- Bumped up the number of connections to the largest supported by FEventLoop (63) to speed up the priming as much as possible.
- Added additional cmdline options although -PrimeEndPoint is still required:
-- '-PrimeAll' will cause all available CDNs to be primed.
-- '-PrimeUrl=' will override the CDN url with the one provided.
--- '-List' will print all of the available CDN urls to screen along with the average latency to it.
-- '-Help' prints help on the new commands to the screen.
- Fix minor bug where UnrealPak was returning none zero for success and zero for error cases.
- Automatically call ::ResolveDeferredEndpoints as part of FDistributionEndpoints::Flush if needed. Failure to do so can lead to flush waiting forever on work that has never been initiated.
[CL 27514497 by paul chipchase in ue5-main branch]
* Use that system to upload whether a plugin is installed or not to analytics.
* Compute "unique" size for root plugins to more accurately represent the incremental cost of a plugin in analytics.
* Provide sizes for key asset types in addition to tracking total cost of a plugin.
#rb matt.peters
#rb fabian.giesen
[CL 27084058 by dan thompson in ue5-main branch]
#rb Per.Larsson
#rnx
### New Command
- Run UnrealPak.exe with the commandline "-PrimeEndPoint=ABC" where ABC is a path to a IoStoreOnDemand.ini containing the info about the end point to prime.
- The command will mount the correct backend, connect to the end point, download the utoc files there and then attempt to download each chunk present so that they will be cached by the CDN endpoint.
- The command does not use the IAS filecache and should not affect the state of the local machine.
- We also make use of the existing IAS code, so this path can also be used for profiling when the IAS requests are saturated etc.
### Code Changes
- The code for parsing the ini file in FIoStoreOnDemandModule::StartupModule has been moved to common utility code so that it can be reused.
[CL 27026561 by paul chipchase in ue5-main branch]
* Restaging a build no longer just constantly increases size
* Inclusive size actually looks at valid data
* Horde URL environment variable corrected.
* Add a new root pseudo plugin json event that holds the size of all plugins that don't belong to a root plugin.
#rb charles.bloom
[CL 26335038 by dan thompson in ue5-main branch]