| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
* moved source directories into `/src`
* updated bundle.lua for new `src` path
* moved some docs, icon
* removed old test trees
|
| |
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
instances (#180)
|
| |
|
|
| |
* Implement proper GetCacheValues upstream
* changelog
|
| |
|
|
| |
(#140)
|
| |
|
|
|
| |
* use cacherequests in zcache.rpc
* use cacherequests for zcache.rpc.allpolicies
|
| |
|
|
| |
GetCacheRecordsResult::Parse and CacheValuesResult::Parse (#138)
|
| |
|
|
| |
GetCacheValuesRequest (#137)
|
| | |
|
| |
|
|
|
| |
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
|
| |
|
|
| |
MacOS clang compiler does not implement a default <=> operator for string
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Refactor HandleRpcGetCacheChunks to reduce complexity. Port CacheStore tests from Unreal.
|
| |
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
ValueContentId where its a hash instead of an oid.
|
| | |
|
| |
|
| |
* Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |\ |
|
| | | |
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
| |
Platforms other than Windows do not really have a named event-like
primitive or ones that are close are fallible if a process
hard-terminates. Separating from Event more clearly conveys the use of
NamedEvent objects; to synchronise two processes.
|
| |
|
|
|
| |
Implemented lockfile synchronization
To be used instead of or in conjunction with existing events to coordinate launching and discovery of server instances
|
| |
|
|
| |
Also removed snapshot_manifest (remnants of vfs prototype)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| |/
|
|
| |
We can now monitor more than one process and if a new process is started on the same port we will hand over the owner pid to the process which is already executing before exiting. Note that this is only done if there is actually already an owner process in the instance list.
|
| |
|
|
|
|
| |
* Code should no longer directly `#include spdlog/spdlog.h`, instead use `#include <zencore/logging.h>`
* Instead of explicit calls to `spdlog::info(...)` and such please use the logging macros defined in `zencore/logging.h`. I.e `ZEN_INFO`, `ZEN_DEBUG`, `ZEN_TRACE`, `ZEN_ERROR`, `ZEN_CRITITCAL`
* The macros will pick up the "most local" logger via a `Log()` call to retrieve a logger instance. To override the default logger in a class please implement your own `Log()` function
|
| |
|
|
| |
easier to tweak implementation
|
| | |
|
| | |
|