aboutsummaryrefslogtreecommitdiff
path: root/zenutil
Commit message (Collapse)AuthorAgeFilesLines
* moved source directories into `/src` (#264)Stefan Boberg2023-05-0214-4286/+0
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* fixed dashboard file serving bug (#255)Stefan Boberg2023-04-242-7/+31
| | | | | a recent change which introduced support for specifying accept: implicitly via the file extension in the URI caused fallout in the dashboard which would fail to serve any content because the extension was stripped from the RelativeUri accessor. This change fixes that by retaining a copy of the Uri string view which includes the suffix additionally, in order to test this change with both asio/http.sys paths I made the path used for all tests configurable in zenserver-test which involved pulling in a change from sb/proto which makes testing configuration a bit more flexible
* fix down command (#254)Dan Engelbrecht2023-04-241-1/+1
| | | | | * add option to zen down command to control port * use correct port for shutdown even when attaching to running server * changelog
* tweaks for enabling unity buildsStefan Boberg2023-04-191-2/+2
| | | | | | | | | | mostly changes to make sure anonymous namespaces don't clash and a change to avoid windows headers from leaking into other compilation units unity builds are not yet enabled by default, but can be enabled by uncommenting this line in the root `xmake.lua` ``` --add_rules("c++.unity_build") ```
* send payloads as duplicated handles (#240)Dan Engelbrecht2023-03-142-3/+39
| | | | | | | | | * send payloads as duplicated handles if requestor provides process id and allows local file references. * linux/macos fixes * tests * fix access rights when duplicating handle * fix closing of duplicated handles on error * cleanup * changelog
* Enhanced rpc request recording (#229)Dan Engelbrecht2023-02-172-0/+239
| | | | | | | | | | | | | * rpc replay zen command * fix replay sessions for thread * recording start/stop as zen commands * move rpcrecording code to zenutil to remove code duplication * simplify recording http request threading * added more data logging to rpc replay * NotFound is an acceptable response for an rpc request * fix rpc replay command line parsing * rpc replay stats * Allow spawning of sub-process workers when replaying rpc recording * changelog
* oplog upload/download (#214)Dan Engelbrecht2023-02-091-2/+0
| | | | | | | | | | | | - Feature: Zen server endpoint `prj/{project}/oplog/{log}/chunks` to post multiple attachments in one request. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/save` to save an oplog container. Accepts `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/load` to request an oplog container. Responds with an `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `{project}/oplog/{log}/rpc` to initiate an import to or export from an external location and other operations. Use either JSon or CbPackage as payload. - CbObject/JSon RPC format for `import` and `export` methods: - CbObject RPC format for `getchunks` method, returns CbPackage with the found chunks, if all chunks are found the number of attachments matches number of chunks requested. - Feature: Zen server `{project}/oplog/{log}/{hash}` now accepts `HttpVerb::kPost` as well as `HttpVerb::kGet`. - Feature: Zen command line tool `oplog-export` to export an oplog to an external target using the zenserver oplog export endpoint. - Feature: Zen command line tool `oplog-import` to import an oplog from an external source using the zenserver oplog import endpoint.
* fix formatting of zenutil/include/zenutil/zenserverprocess.hDan Engelbrecht2023-01-311-1/+1
|
* removed some more mesh related debrisStefan Boberg2023-01-262-7/+0
|
* Changed so CompressedBuffer::DecodeRawHash returns IoHash just like on the ↵Stefan Boberg2022-12-121-29/+27
| | | | | | UE side (#208) removed all use of IoHash::FromBLAKE3() caused by interactions with CompressedBuffer APIs
* optimizations (#200)Dan Engelbrecht2022-12-071-39/+38
| | | | | | | | | | | | | * Use direct file read and direct buffer allocation for small IoBuffer materalization * Reduce range of materialized data in CompositeBuffer reading CompressedBuffer header reading often only need a small part and not the whole file * reduce lock contention in IoBuffer::Materialize * Reduce parsing of compressed headers Validate header type at decompression * faster CreateDirectories - start from leaf going up and recurse back * optimized BufferHeader::IsValid * Add ValidateCompressedHeader to use when we don't need the actual compressed data Validate that we always get compressed data in CidStore::AddChunk * changelog
* Add `import-project` and `export-project` (#183)Dan Engelbrecht2022-11-182-8/+11
| | | * Add `import-project` and `export-project` command line parsing
* move BasicFile to zenutil to remove zenstore dependency from zen command (#190)Dan Engelbrecht2022-11-172-0/+688
|
* Add "Accept" field in RPC request to gracefully handle requests from older ↵Dan Engelbrecht2022-10-132-0/+32
| | | | instances (#180)
* Implement proper GetCacheValues upstream (#155)Dan Engelbrecht2022-09-061-0/+6
| | | | * Implement proper GetCacheValues upstream * changelog
* De/fix crash on non responding upstream (#145)Dan Engelbrecht2022-08-191-0/+1
| | | * Fix ZenStructuredCacheClient lifetime issues
* Remove PutCacheRecordRequest::RecordBody and GetCacheRecordResult:RecordBody ↵Dan Engelbrecht2022-07-012-50/+50
| | | | (#140)
* Use cacherequest::* for zenserver tests (#135)Dan Engelbrecht2022-06-301-0/+6
| | | | | * use cacherequests in zcache.rpc * use cacherequests for zcache.rpc.allpolicies
* Add ability to control where in the result array results go in ↵Dan Engelbrecht2022-06-302-14/+55
| | | | GetCacheRecordsResult::Parse and CacheValuesResult::Parse (#138)
* add optional filter when writing GetCacheRecordsRequest and ↵Dan Engelbrecht2022-06-292-19/+67
| | | | GetCacheValuesRequest (#137)
* cache requests API (#134)Dan Engelbrecht2022-06-272-0/+1759
|
* Keep Namespace out of CacheKey and store it on request levelDan Engelbrecht2022-05-191-9/+1
| | | | | 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
* Add caseSensitiveCompareStrings and manual <=> and == operator for CacheKeyDan Engelbrecht2022-05-121-4/+10
| | | | MacOS clang compiler does not implement a default <=> operator for string
* manual <=> calls for strings in CacheKeyDan Engelbrecht2022-05-121-1/+8
|
* use spaceship operator for CacheKey comparisonsDan Engelbrecht2022-05-111-22/+2
|
* parameterize namespace for upstream (first hack)Dan Engelbrecht2022-05-111-6/+12
|
* Add pre-commit config (#69)Joe Kirchoff2022-04-051-2/+2
| | | | | | | * Add .pre-commit-config.yaml * format all using pre-commit clang-format hook * Add pre-commit to inject unreal header comment * Remove prepare_commit.bat & update CODING.md * Remove check-added-large-files, add headers before clang-format
* clang formatDan Engelbrecht2022-03-231-2/+2
|
* Enable Horde compute code on Linux & Mac (#61)Joe Kirchoff2022-03-221-2/+2
|
* Linux compile fixMartin Ridgers2022-02-211-2/+2
|
* Explicitly set access permissions so we're not affected by process' umaskMartin Ridgers2022-02-211-2/+3
|
* Marked a few file descriptors to be closed on execute (POSIX)Martin Ridgers2022-02-211-2/+2
|
* POSIX states the shared memory paths should start with a slashMartin Ridgers2022-02-111-2/+2
|
* Simplify HandleRpcGetCacheChunks (#53)mattpetersepic2022-02-091-1/+0
| | | Refactor HandleRpcGetCacheChunks to reduce complexity. Port CacheStore tests from Unreal.
* Remove the backwards compatibility for the Zen CachePolicy changes no… (#49)mattpetersepic2022-02-082-18/+1
| | | 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.
* Merging minor fixes to mainStefan Boberg2022-02-072-9/+24
|\
| * Changed some initializers to constinit to ensure compile time initializationStefan Boberg2022-02-041-8/+24
| | | | | | | | Also changed ConvertToUpstream to not use so many ternary operators to improve debuggability
| * removed unnecessary <unordered_map> includeStefan Boberg2022-02-041-1/+0
| |
* | Fixed signed/unsigned comparison compile errorMartin Ridgers2022-02-031-1/+1
|/
* CacheRecordPolicy: Fix inverted PolicyMask expression that caused parsing ↵Matt Peters2022-02-011-2/+2
| | | | ValuePolicies to fail.
* Cache policy support (#47)mattpetersepic2022-02-013-198/+277
| | | | | | | | 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-3/+3
| | | | ValueContentId where its a hash instead of an oid.
* Handle HTTP port collisions when initializing server (#40)zousar2022-01-272-17/+20
|
* Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords (#41)mattpetersepic2022-01-262-0/+24
| | | * Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords.
* Unused Delimiter string_view wouldn't compile POISX platformsMartin Ridgers2022-01-251-1/+0
|
* Cachepolicy (#36)mattpetersepic2022-01-252-143/+278
| | | | | | | | | | | | | | | | | * 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
* Fixed CacheRecordPolicy::SaveDevin Doucette2022-01-201-0/+2
|
* Added copyright headers to xmake.lua scriptsMartin Ridgers2022-01-201-0/+2
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-101-3/+1
|
* Turn all ThrowLastError() sites in source_location variantsMartin Ridgers2022-01-071-2/+1
|