aboutsummaryrefslogtreecommitdiff
path: root/zencore/filesystem.cpp
Commit message (Collapse)AuthorAgeFilesLines
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-1304/+0
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* Move knowledge of UE env variable from zenserver to zen command line tool (#227)Dan Engelbrecht2023-02-131-0/+23
| | | | * move knowledge of UE env variable from zenserver to zen command line tool * move env-fetching code to GetEnvVariable
* Path from handle perf improvement (#206)Dan Engelbrecht2022-12-081-2/+10
| | | | | | * Read recorded requests to memory before parsing This will more accurately simulate how requests comes in from a client * Make a fast path for GetFinalPathNameByHandleW Try to get the path with a fixes size buffer first to avoid always doing two calls to GetFinalPathNameByHandleW
* optimizations (#200)Dan Engelbrecht2022-12-071-5/+13
| | | | | | | | | | | | | * 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
* Cache request record/replay (#198)Dan Engelbrecht2022-12-071-3/+23
| | | | | | | | | This adds recording and playback of cache request with full data - both get and put operations can be replayed. Invoke via web request. `<host>/z$/exec$/start-recording?<disk-storage-path>` `<host>/z$/exec$/stop-recording` `<host>/z$/exec$/replay-recording?<thread-count>&<disk-storage-path>`
* Use "\\?\" prefixed paths and fix hardcoded path delimiters (#149)Dan Engelbrecht2022-08-261-1/+6
| | | | | | * use "\\?\" prefix for windows paths * fix path delimiters * disable vcpkg caching * Workaround for spdlog not being able to create directories prefixed with `\\?\`
* core: added ReadStdInStefan Boberg2022-06-101-0/+20
| | | | implements a simple wrapper around reading stdin until EOF
* Added GetDirectoryContent utilityDan Engelbrecht2022-05-061-0/+34
|
* clang formatJoe Kirchoff2022-04-141-4/+13
|
* more cleanupDan Engelbrecht2022-04-121-1/+3
|
* cleanupDan Engelbrecht2022-04-121-0/+25
|
* Handle error GetFinalPathNameByHandleW when file handle is closedDan Engelbrecht2022-03-311-0/+4
|
* clang-formatDan Engelbrecht2022-03-211-1/+1
|
* If open(O_CREAT) is used then a file mode must be givenMartin Ridgers2022-02-211-4/+4
|
* Explicitly set access permissions so we're not affected by process' umaskMartin Ridgers2022-02-211-4/+8
|
* Allow all users and groups to read/write files (POSIX)Martin Ridgers2022-02-211-1/+1
|
* clang-formatStefan Boberg2022-02-021-1/+1
|
* Format fix.Per Larsson2022-01-221-5/+5
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-101-13/+7
|
* PathFromHandle() for MacMartin Ridgers2022-01-051-8/+13
| | | | | | While the /dev/fd/ mount does list the process' open file descriptors it turns out they are not symlinks so the previous readlink() didn't work as first thought.
* CloneFile()'s unimplemented on Mac but shouldn't be a compile errorMartin Ridgers2022-01-051-1/+2
|
* An implementation of PathFromHandle() for MacMartin Ridgers2022-01-051-5/+11
|
* GetRunningExecutablePath() implementation for MacMartin Ridgers2022-01-051-2/+9
|
* Removed unused include statementMartin Ridgers2022-01-051-1/+0
|
* Added block of POSIX includes for MacMartin Ridgers2022-01-051-1/+10
|
* Add DiskSpaceInfo() testsMartin Ridgers2021-12-151-0/+17
|
* Implement DiskSpaceInfo() using std::filesystem::space()Martin Ridgers2021-12-151-16/+9
|
* Implemented DiskSpaceInfo() for POSIX platformsMartin Ridgers2021-12-151-7/+11
|
* Merged main.Per Larsson2021-12-141-31/+231
|\
| * Added a missing file mode for a open() that creates a fileMartin Ridgers2021-12-081-1/+1
| |
| * Use the /proc/self mount to get information about ourselvesMartin Ridgers2021-11-291-4/+2
| |
| * Added POSIX's close-on-exec flag to files that Zen opensMartin Ridgers2021-11-241-6/+6
| |
| * Added close-on-exec flag to Read/WriteFile() file descriptorsMartin Ridgers2021-11-171-2/+2
| |
| * WriteFile() testsMartin Ridgers2021-11-171-0/+31
| |
| * Set correct read-write file modes on WriteFile() outputMartin Ridgers2021-11-171-2/+2
| |
| * Corrected flags to open() so behaviour matches Windows' CREATE_ALWAYSMartin Ridgers2021-11-171-2/+3
| |
| * Added a PathToUtf8(path, string-buffer) overloadMartin Ridgers2021-11-161-0/+10
| |
| * ToUtf8() -> PathToUtf8() as the latter is less ambiguousMartin Ridgers2021-11-161-2/+2
| |
| * Merged mainMartin Ridgers2021-11-011-1/+1
| |\
| * | Added ScanFile() and ReadFile() testsMartin Ridgers2021-10-251-0/+10
| | |
| * | Included a sketch of how CloneFile() could be on LinuxMartin Ridgers2021-10-251-1/+32
| | |
| * | CopyFile() for POSIXMartin Ridgers2021-10-251-7/+44
| | |
| * | Implemented ScanFile() on POSIXMartin Ridgers2021-10-251-4/+35
| | |
| * | Added some ZEN_UNUSED() statements for yet-to-be-implemented functionsMartin Ridgers2021-10-251-0/+2
| | |
| * | Use the non-throwing version of std::fs::create_directories()Martin Ridgers2021-10-201-1/+2
| | |
| * | Tests for ExtendablePathBuilderMartin Ridgers2021-10-181-0/+34
| | |
| * | Merged mainMartin Ridgers2021-10-111-2/+2
| |\ \
| * \ \ Merged mainMartin Ridgers2021-10-071-0/+24
| |\ \ \
| * \ \ \ Merged mainMartin Ridgers2021-10-011-3/+3
| |\ \ \ \
| * | | | | Fixed some warnings from GCCMartin Ridgers2021-09-291-2/+4
| | | | | |