Commit Graph

672 Commits

Author SHA1 Message Date
Devin Doucette
30886eda76 More workarounds for issues with /Zc:lambda in MSVC 14.33
#preflight 62fd28c30f2aefc97abbe0ee
#preflight 62fd2940aa546d5e9dc15245
#rb trivial
#rnx
#fyi Joe.Kirchoff

[CL 21427854 by Devin Doucette in ue5-main branch]
2022-08-17 14:04:36 -04:00
Joe Kirchoff
6e545d7633 Fix vs2022 compile errors when /Zc:lambda- is removed
#rnx
#rb trivial
#preflight 62fc24382d5e2ed99cdbbc84

[CL 21417071 by Joe Kirchoff in ue5-main branch]
2022-08-16 19:23:33 -04:00
Joakim Lindqvist
99738a925d Allow users to interactivly login if they are missing a token. Will present a dialog for users if not unattended so they are aware they need to login.
#preflight https://horde.devtools.epicgames.com/job/62f26d7723003b62a3f3b58f

[CL 21334992 by Joakim Lindqvist in ue5-main branch]
2022-08-11 09:17:03 -04:00
Devin Doucette
db73e60520 DDC: Fixed a compile error in the mock cache store
#preflight skip
#rb trivial
#rnx
#robomerge FNMain

[CL 21301375 by Devin Doucette in ue5-main branch]
2022-08-09 18:09:15 -04:00
Devin Doucette
07e5f7441b DDC: Added a mock cache store for testing the cache
#preflight 62f2c634bc175ec68c149158
#rb Zousar.Shaker
#rnx
#robomerge FNMain

[CL 21300835 by Devin Doucette in ue5-main branch]
2022-08-09 17:55:24 -04:00
Devin Doucette
76e5a1365f DDC: Separated the async completion counter from the cache singleton
#preflight 62f2ae3e3f500fb6dcf79ad1
#rb Zousar.Shaker
#rnx
#robomerge FNMain

[CL 21296269 by Devin Doucette in ue5-main branch]
2022-08-09 15:39:06 -04:00
Devin Doucette
1da9f58aa5 DDC: Optimized Horde Storage cache bucket transforms
#preflight 62dab595d54af4b9a23cea07
#rb Zousar.Shaker
#rnx

[CL 21221014 by Devin Doucette in ue5-main branch]
2022-07-22 10:54:37 -04:00
Devin Doucette
32b644e560 DDC: Use TSharedRef for shared Horde Storage completion functions
#preflight 62da25ec185da2495f7bbf5d
#rb Zousar.Shaker
#rnx

[CL 21220414 by Devin Doucette in ue5-main branch]
2022-07-22 10:21:26 -04:00
Devin Doucette
62f66e3e49 DDC: Fixed verbose logging in the file system cache
#preflight 62da257cbc175ec68cb7b9db
#rb Zousar.Shaker
#rnx
#robomerge FNMain

[CL 21220401 by Devin Doucette in ue5-main branch]
2022-07-22 10:20:41 -04:00
Devin Doucette
e8e097228d DDC: Changed cache replay to enable compression by default
The -DDC-ReplayCompress param has been replaced by -DDC-ReplayNoCompress.

#preflight 62da1f46086f90bbc477b270
#rb none
#rnx
#robomerge FNMain

[CL 21220189 by Devin Doucette in ue5-main branch]
2022-07-22 09:56:23 -04:00
Devin Doucette
0c93504b3c DDC: Added more detail to warnings from the Zen cache client
#preflight 62d9ced6d76ea4b503d3f487
#rb Zousar.Shaker
#rnx

[CL 21214276 by Devin Doucette in ue5-main branch]
2022-07-21 23:01:51 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
zousar shaker
75d0e7277b Add status icon to indicate DDC cache store status with tooltip text for details. Currently used to show when a cache store has been deactivated for performance.
#rb devin.doucette

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 21152573 via CL 21155094 via CL 21156160
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181761 by zousar shaker in ue5-main branch]
2022-07-20 11:55:16 -04:00
Devin Doucette
075bd0dc0b DDC: Fixed warnings from PVS-Studio in CurlHttpClient
#preflight 62d71b4d3c3df32390382aef
#rb Zousar.Shaker
#rnx
#preflight 62d71d1dd54af4b9a29c1918

[CL 21167452 by Devin Doucette in ue5-main branch]
2022-07-19 17:18:52 -04:00
Devin Doucette
463ecf80f5 DDC: Added public key pinning support to the Horde Storage client
It would be better to use Certificate Transparency, but the UE SSL module currently expects pinned public keys, and verification using known key hashes is far better than no verification.

#preflight 62d5c582d54af4b9a23b92e7
#rb Zousar.Shaker
#rnx

[CL 21157474 by Devin Doucette in ue5-main branch]
2022-07-18 23:15:54 -04:00
Devin Doucette
bbbaf00e02 DDC: Fixed an error in IHttpClient::GetHeader[s]
#preflight skip
#rb none
#rnx

[CL 21150205 by Devin Doucette in ue5-main branch]
2022-07-18 13:24:08 -04:00
Devin Doucette
c6bcab8076 DDC: Refactored the HTTP API to add configurability and remove reliance on types from DDC
- FHttpSharedData is now IHttpConnectionPool. It is a connection pool of configurable size.
- FHttpRequestPool is now IHttpClient. It is a request pool of configurable size and the point at which most behaviors are configured.
- FHttpRequest is now split into IHttpRequest and IHttpResponse. This separation allows requests to be released back to the client for reuse while the response is still being processed.
- FScopedHttpPoolRequestPtr is now THttpUniquePtr. It is used uniformly with the pool, client, request, and response.
- The response body is now handled by IHttpReceiver, with a basic FHttpByteArrayReceiver provided to capture the whole body into an array.
- The response now includes stats about how much time was spent on various parts of the request, as well as how much data was sent and received and at what rate.
- The response supports cancellation at any point before it is complete, and IHttpResponseMonitor is provided to support thread-safe cancellation and waiting without requiring locks around the unique owner of the response.
- The response will be canceled automatically when destroyed through its THttpUniquePtr.
- The client does not directly support blocking on request creation. Blocking creation of requests is now provided by FHttpRequestQueue.
- The HTTP thread now relies on curl_multi_poll, available in newer libcurl versions, to allow immediate waking when a handle needs to be added or removed.

#preflight 62d580dd2e3e5993c3b678dd
#rb Zousar.Shaker

[CL 21149626 by Devin Doucette in ue5-main branch]
2022-07-18 12:23:16 -04:00
Devin Doucette
cc9d668fd1 DDC: Removed filtering support for legacy cache keys
#preflight 62d1ba583b057e72749a1ff3
#rb Matt.Peters
#rnx
#robomerge FNMain

[CL 21148054 by Devin Doucette in ue5-main branch]
2022-07-18 09:32:18 -04:00
Devin Doucette
20b115b66e DDC: Enabled Horde Storage on Mac and Linux
#preflight 62d1cbd0a6141b6adf5855bc
#rb Matt.Peters

[CL 21148039 by Devin Doucette in ue5-main branch]
2022-07-18 09:31:18 -04:00
Devin Doucette
b7961682fd DDC: Fixed auth token refresh in HttpCacheStore to unregister from the ticker
Removed duplicate code, unnecessary scopes, and unused variables as well.

#preflight 62cda8de3d7ef9abccf7eb10
#rb Zousar.Shaker
#rnx

[CL 21061398 by Devin Doucette in ue5-main branch]
2022-07-12 15:36:38 -04:00
zousar shaker
01a55c47a3 Add an optional "DeactivateAt" attribute for DDC filesystem cache stores to allow the store to be deactivated for the session if a speedtest is run and the speedtest indicates that the latency is higher than the configured threshold. Default state is that there is no deactivation threshold.
#rb devin.doucette

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 20994964 via CL 20994988 via CL 20995000
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21002571 by zousar shaker in ue5-main branch]
2022-07-08 02:53:40 -04:00
Joakim Lindqvist
bd3223cb4c Support for using OidcToken in editor / cooker to acquire a user token, currently opt in.
#preflight https://horde.devtools.epicgames.com/job/62c4108c8d5e678759f258f0

[CL 20964270 by Joakim Lindqvist in ue5-main branch]
2022-07-06 05:59:22 -04:00
Devin Doucette
646ddce8b0 DDC: Renamed HTTP enums to match modern terminology
#preflight 62bdb7c21c0b7587971c9f3c
#robomerge FNMain
#rb Zousar.Shaker
#rnx

[CL 20896677 by Devin Doucette in ue5-main branch]
2022-06-30 11:53:43 -04:00
devin doucette
c2f32c0b05 DDC: Simplify FCacheBucketOwnerKeyFuncs
#rb Zousar.Shaker
#rnx

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 20883184 via CL 20885166 via CL 20885259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20887595 by devin doucette in ue5-main branch]
2022-06-29 21:31:27 -04:00
devin doucette
88a306b08d DDC: Force SSL to start up before DDC to enforce shutdown order, since DDC may be using SSL until it finishes shutting down
#rb Zousar.Shaker
#rnx

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 20882878 via CL 20885121 via CL 20885236
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20887594 by devin doucette in ue5-main branch]
2022-06-29 21:31:18 -04:00