aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixed "Record* Record;" non-conformant compile errors from GCCMartin Ridgers2022-02-111-3/+3
|
* Simplify HandleRpcGetCacheChunks (#53)mattpetersepic2022-02-091-10/+27
| | | Refactor HandleRpcGetCacheChunks to reduce complexity. Port CacheStore tests from Unreal.
* Remove the backwards compatibility for the Zen CachePolicy changes no… (#49)mattpetersepic2022-02-081-20/+13
| | | Remove the backwards compatibility for the Zen CachePolicy changes now that there has been enough time for all internal users of the old protocol to update.
* Cache policy support (#47)mattpetersepic2022-02-011-6/+36
| | | | | | | | Add HandleRpc methods for the remaining ICacheStore requests from unreal: PutCacheValues/GetCacheValues. We now have batched versions for PutCacheRecords,GetCacheRecords,PutCacheValues,GetCacheValues,GetCacheChunks. Add support for CachePolicy flags to all of these batched methods. * Add Batched PutCacheValues/GetCacheValues. Rename old GetCacheValues to GetCacheChunks. * HandleRpcGetCacheRecords: Receive a CacheRecordPolicy with each key, and skipdata on attachments we already have. * Changes to CachePolicy copied from Release-5.0 depot. Change serialization to use the key BasePolicy instead of DefaultValuePolicy. * GetChunks: Read CacheRecords from remote if necessary to find ContentId. Implement QueryLocal, StoreLocal, and SkipData.
* Rename Paylod to Value to match the client side. Rename PayloadId to ↵mattpetersepic2022-01-271-5/+5
| | | | ValueContentId where its a hash instead of an oid.
* Add batched CacheRecord put rpc (#38)mattpetersepic2022-01-271-0/+9
| | | * Add batched CacheRecord put rpc
* Cachepolicy (#36)mattpetersepic2022-01-251-7/+7
| | | | | | | | | | | | | | | | | * Copy CachePolicy implementation from UE5/Release-5.0. Add backwards compatability for clients and upstreams that are using the old protocol. * Add RefPtr templated move operator and constructor, so that RefPtr<const Foo*> A = std::move(RefPtr<Foo*>()) will do a move. * Fix broken CachePolicy tests and add tests for new Save/Load. * Remove TODO comments * CachePolicy Save/Load Fixes from codereview * Fix comment to match code change. * Remove backwards compatibility for CachePolicy change. Convert policy string tokens to PascalCase. Fix tests for new policy text. Change ParseCachePolicy to assert string is non-empty and always succeed. * Fix release build: use ZEN_WITH_TESTS define
* Refactored upstream cache to better handle different states in prep for ↵Per Larsson2022-01-241-16/+16
| | | | dynamic auth tokens.
* Fixed up some merge falloutStefan Boberg2021-11-181-0/+1
|
* merge from mainStefan Boberg2021-11-181-1/+4
|\
| * Updated cache policy according to UE.Per Larsson2021-11-151-1/+1
| |
| * Changed from batch to RPC.Per Larsson2021-11-111-3/+3
| |
| * Handle cache record policy.Per Larsson2021-11-101-3/+3
| |
| * Sort cache keys when resolving payload ID's.Per Larsson2021-11-091-1/+1
| |
| * Added batched get chunk(s).Per Larsson2021-11-081-0/+2
| |
| * First pass batch request.Per Larsson2021-10-291-0/+1
| |
* | Add /vsxmake* to .gitignoreStefan Boberg2021-11-031-0/+1
| |
* | z$: Removed CasStoreStefan Boberg2021-10-211-2/+0
|/
* Support for asynchronous HTTP response processing (#19)Stefan Boberg2021-10-061-6/+6
| | | | | | | | This change introduces WriteResponseAsync which can be used to move potentially slow request handler code (like upstream lookups) off the I/O service thread to ensure we are always able to serve as many HTTP requests as possible. The current implementation defaults to 16 async worker threads and there is currently no back-pressure. - Added RequestStats - Metrics for network requests. Aggregates tracking of duration, payload sizes into a single class for ease of use - Added some metrics on upstream communication Co-authored-by: Per Larsson <[email protected]>
* Merged from upstreamStefan Boberg2021-10-051-7/+15
|
* Added cache HIT/MISS stat counters.Per Larsson2021-10-011-0/+8
|
* structured cache: Rewrote metrics tracking using OperationTimingStefan Boberg2021-09-301-3/+1
|
* structured cache: added request meter and stats reportingStefan Boberg2021-09-301-0/+1
|
* structured cache: Added stats test code (needs additional work / metrics)Stefan Boberg2021-09-301-0/+4
|
* Refactored get/set cache pyload.Per Larsson2021-09-211-1/+3
|
* Merge branch 'main' of https://github.com/EpicGames/zenPer Larsson2021-09-211-0/+1
|\
| * Wired up scrubbing to more higher level servicesStefan Boberg2021-09-211-0/+1
| | | | | | | | Also moved sharding logic for filecas into a function to redduce cut/pasta
* | Refactored out get/set cache record.Per Larsson2021-09-211-1/+3
|/
* Added more scrub stubs in higher level servicesStefan Boberg2021-09-201-0/+1
|
* Moved more code into zen namespace, for consistencyStefan Boberg2021-09-201-3/+2
| | | | Also removed snapshot_manifest (remnants of vfs prototype)
* Initial support for cache policies.Per Larsson2021-09-171-2/+3
|
* Fixed logging in structured cache (did not end up getting routed right)Stefan Boberg2021-09-161-0/+1
|
* Changed so more loggers go via the zen::loggers interfaceStefan Boberg2021-09-151-2/+5
|
* Factored out http server related code into zenhttp module since it feels out ↵Stefan Boberg2021-09-091-1/+1
| | | | of place in zencore
* Asynchronous upstream caching to JupiterPer Larsson2021-08-311-13/+14
| | | | Co-authored-by: Stefan Boberg <[email protected]>
* added 'zen drop' command to drop cache buckets onlineStefan Boberg2021-08-171-1/+1
| | | | also cleaned up the server side implementation a bit
* Implemented support for dropping z$ buckets while onlineStefan Boberg2021-08-171-0/+1
|
* Implemented flush operations for cache servicesStefan Boberg2021-08-121-4/+11
| | | | Also implemented basic upstream query interface, which needs a bit more work to be fully functional (chunk propagation / fetching and new propagation policies as per DDC requirements)
* trivial: Updated commentStefan Boberg2021-08-101-1/+1
|
* Merged from origin/mainStefan Boberg2021-05-251-4/+13
|\
| * Added CidStore, currently used to track relationships between compressed and ↵Stefan Boberg2021-05-241-1/+3
| | | | | | | | | | | | uncompressed chunk hashes This first implementation is in-memory only, persistence is next
| * Implemented new URI addressing scheme for the Zen cache endpoints, and ↵Stefan Boberg2021-05-231-1/+3
| | | | | | | | prepared for additional indexing capabilities
| * Split out structured cache store code into dedicated cpp/h pairStefan Boberg2021-05-221-1/+1
| |
| * Partial refactoring of structured cache implementation - WIPStefan Boberg2021-05-211-5/+6
| |
| * WIP structured cache endpoints - tactical check-in not fully functional yetStefan Boberg2021-05-201-2/+13
| |
* | Updated structured cache descriptionStefan Boberg2021-05-251-0/+23
|/
* Adding zenservice codeStefan Boberg2021-05-111-0/+40