aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.h
Commit message (Collapse)AuthorAgeFilesLines
* Support file reference in package message (#184)Dan Engelbrecht2022-11-071-0/+2
| | | | | | | | * Fix packed message parsing for absolute path * Always enable are sharing when opening files as IoBuffers. * Allow control over sending partial files as localfile ref * Check "AcceptFlags" field in RPC message for allowing localfile ref in reply * make oplog entry add operations ZEN_DEBUG level logs * changelog
* Add "Accept" field in RPC request to gracefully handle requests from older ↵Dan Engelbrecht2022-10-131-2/+4
| | | | instances (#180)
* rename URI chunk requests from value -> chunk (#166)Dan Engelbrecht2022-09-191-3/+3
|
* removed unnecessary CasStore forward declarationsStefan Boberg2022-06-131-1/+0
|
* Keep Namespace out of CacheKey and store it on request levelDan Engelbrecht2022-05-191-5/+12
| | | | | RPC requests now has a Namespace field under Params instead of one Namespace per cache key Fall back to legacy upstream HTTP URI format if default namespace is requested
* review feedbackDan Engelbrecht2022-05-161-5/+5
|
* Add validation to namespace names that follows Jupiters rules.Dan Engelbrecht2022-05-121-18/+17
| | | | | Add unified validation of Namespace, Bucket and Hash for rpc requests. cleanup
* Tests for HttpRequestParseRelativeUriDan Engelbrecht2022-05-121-0/+2
|
* Add support for /api/v2/ URI requests with namespace supportDan Engelbrecht2022-05-121-2/+3
|
* revert Bucket - Key parameter changeDan Engelbrecht2022-05-121-1/+1
|
* cleanupDan Engelbrecht2022-05-111-1/+1
|
* parameterize namespace for upstream (first hack)Dan Engelbrecht2022-05-111-1/+2
|
* 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)