From 8d59b2dfc7734736368b4d2c674cbcc3456bc4e2 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 9 Sep 2021 13:01:29 +0200 Subject: Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62cdf919d..61da2ae82 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ To run the pre-commit scripts you'll need a few things: * We rely on clang-format for consistent code formatting. You can install version 12 or later from https://llvm.org/builds/ * The helper scripts also depend on Python 3.x, which you may install from https://www.python.org/downloads/windows/ (I am presently using 3.9.5 which works). NOTE: *do* check the option to add Python to your PATH! -Once you have those dependencies, you can simply run `prepare_commit.bat` to ensure the code is properly formatted and has the Epic copyright header comment +Once you have those dependencies, you can simply run `prepare_commit.bat` to ensure the code is properly formatted and has the Epic copyright header comment. I'm sure there's a better way to integrate this into the git submit flow but my git-fu is not strong enough yet to know how to do that best. # Debugging -- cgit v1.2.3 From 7905cba8310052f86188cbe7ed30726d9e2f163d Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 9 Sep 2021 13:10:18 +0200 Subject: Updated README.md --- README.md | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 61da2ae82..a9930a120 100644 --- a/README.md +++ b/README.md @@ -3,16 +3,13 @@ This is the implementation of the local storage service for UE5. It is intended to be deployed on user machines either as a daemon or launched ad hoc as required during of editor/cooker/game startup -This repo also contains a VFS prototype (zenfs) which is currently not functional, it's a prototype -which has decayed, hopefully it can be revisited at some point. - ## Setup -We currently only support building and running the server on Windows. Linux and Mac will be supported before UE5 release +We currently only support building and running the server on Windows. Linux and Mac support is in progress To build the code you will need Visual Studio 2019 (we use c++20 features), git and vcpkg. -* Install Visual Studio 2019 Version 16.9.4 or later (16.10 is recommended as it contains improvements to debug codegen which have a pretty significant impact when iterating in debug mode) +* Install Visual Studio 2019 Version 16.10 or later * Install [git](https://git-scm.com/download/win) We use vcpkg to manage some libraries. Right now it's not set up on a project local @@ -26,6 +23,11 @@ basis and requires manual bootstrap so you will need to do the following at leas Now you are ready to start building! +### Building with Visual Studio + +We currently require Visual Studio 2019 Version 16.10 or later. Visual Studio 2022 can also be used, but +currently building with the VS2022 toolchain has not been tested (please leave the sln/vcxproj un-upgraded). + * clone the `zen` repository if you haven't already * run `git clone https://github.com/EpicGames/zen.git`, or use Visual Studio integrated git to clone and open the repo @@ -33,7 +35,22 @@ Now you are ready to start building! http.sys requires elevation) * you can now build and run `zenserver` as usual from Visual Studio * third-party dependencies will be built the first time via the `vcpkg` integration. This is not as - fast as it could be (it does not go wide) but should only happen on the first build + fast as it could be (it does not go wide) but should only happen on the first build and will leverage + a local build cache. + +### Building with xmake + +* Install xmake from https://github.com/xmake-io/xmake/releases/tag/v2.5.7 ( later versions should also be ok) + * Once installed you may want to update to latest using `xmake update dev` to get some bugfixes for + scheduling compiles on very high core count workstations (this note applies to 2.5.7) + +You can then build from the command line: + +`d:\zen> xmake -y` (the `-y` is only really useful the first build when xmake prompts for vcpkg package installation confirmation) + +It's also possible to generate project files for Visual Studio via + +`d:\zen> xmake project -k vsxmake` # Implementation Notes -- cgit v1.2.3 From 5083b7116105e594103f7299f15f767ea47485a5 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 9 Sep 2021 13:11:35 +0200 Subject: Update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index a9930a120..02b487d06 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,8 @@ basis and requires manual bootstrap so you will need to do the following at leas Now you are ready to start building! +## Building on Windows + ### Building with Visual Studio We currently require Visual Studio 2019 Version 16.10 or later. Visual Studio 2022 can also be used, but @@ -52,6 +54,14 @@ It's also possible to generate project files for Visual Studio via `d:\zen> xmake project -k vsxmake` +## Building on Linux + +... coming soon + +## Building on Mac + +... coming soon + # Implementation Notes * The implementation currently depends only on a few libraries including the C++ standard library -- cgit v1.2.3 From 8a853d2a9db324f30a6ed45fa0d1fe79cc80c0f9 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 9 Sep 2021 13:12:29 +0200 Subject: Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 02b487d06..7d51d3686 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,12 @@ This is the implementation of the local storage service for UE5. It is intended to be deployed on user machines either as a daemon or launched ad hoc as required during of editor/cooker/game startup -## Setup - We currently only support building and running the server on Windows. Linux and Mac support is in progress +## Building on Windows + +### Windows Setup + To build the code you will need Visual Studio 2019 (we use c++20 features), git and vcpkg. * Install Visual Studio 2019 Version 16.10 or later @@ -23,8 +25,6 @@ basis and requires manual bootstrap so you will need to do the following at leas Now you are ready to start building! -## Building on Windows - ### Building with Visual Studio We currently require Visual Studio 2019 Version 16.10 or later. Visual Studio 2022 can also be used, but -- cgit v1.2.3 From b3847cbe7b98db35bbd6295c37a1086027d532b6 Mon Sep 17 00:00:00 2001 From: Per Larsson Date: Thu, 9 Sep 2021 13:57:07 +0200 Subject: Parse Accept mime type. --- zencore/httpserver.cpp | 3 +++ zencore/include/zencore/httpserver.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/zencore/httpserver.cpp b/zencore/httpserver.cpp index d7e6a875f..2bfa25dea 100644 --- a/zencore/httpserver.cpp +++ b/zencore/httpserver.cpp @@ -1160,6 +1160,9 @@ public: const HTTP_KNOWN_HEADER& CtHdr = HttpRequestPtr->Headers.KnownHeaders[HttpHeaderContentType]; m_ContentType = MapContentType({CtHdr.pRawValue, CtHdr.RawValueLength}); + + const HTTP_KNOWN_HEADER& AcceptHdr = HttpRequestPtr->Headers.KnownHeaders[HttpHeaderAccept]; + m_AcceptType = MapContentType({AcceptHdr.pRawValue, AcceptHdr.RawValueLength}); } ~HttpSysServerRequest() {} diff --git a/zencore/include/zencore/httpserver.h b/zencore/include/zencore/httpserver.h index d4d9e21e0..493ea63e9 100644 --- a/zencore/include/zencore/httpserver.h +++ b/zencore/include/zencore/httpserver.h @@ -206,6 +206,7 @@ public: inline HttpVerb RequestVerb() const { return m_Verb; } inline HttpContentType RequestContentType() { return m_ContentType; } + inline HttpContentType AcceptContentType() { return m_AcceptType; } const char* HeaderAccept() const; const char* HeaderAcceptEncoding() const; @@ -252,6 +253,7 @@ protected: HttpVerb m_Verb = HttpVerb::kGet; uint64_t m_ContentLength = ~0ull; HttpContentType m_ContentType = HttpContentType::kBinary; + HttpContentType m_AcceptType = HttpContentType::kUnknownContentType; ExtendableStringBuilder<256> m_Uri; ExtendableStringBuilder<256> m_QueryString; }; -- cgit v1.2.3