aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/basicfile.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add test suites (#799)Stefan Boberg2026-03-021-0/+4
| | | | | | | | | | | | | Makes all test cases part of a test suite. Test suites are named after the module and the name of the file containing the implementation of the test. * This allows for better and more predictable filtering of which test cases to run which should also be able to reduce the time CI spends in tests since it can filter on the tests for that particular module. Also improves `xmake test` behaviour: * instead of an explicit list of projects just enumerate the test projects which are available based on build system state * also introduces logic to avoid running `xmake config` unnecessarily which would invalidate the existing build and do lots of unnecessary work since dependencies were invalidated by the updated config * also invokes build only for the chosen test targets As a bonus, also adds `xmake sln --open` which allows opening IDE after generation of solution/xmake project is done.
* reduce batch size for reads (#740)Dan Engelbrecht2026-01-291-1/+1
| | | | | * reduce maximum size per chunk to read to reduce disk contention * increase timeout before warning on slow shut down of zenserver * reduce default window size for blockstore chunk iteration
* get oplog attachments (#622)Dan Engelbrecht2025-11-071-0/+24
| | | * add support for downloading individual attachments from an oplog
* fixed size chunking for encrypted files (#410)Dan Engelbrecht2025-06-031-5/+5
| | | | | - Improvement: Use fixed size block chunking for know encrypted/compressed file types - Improvement: Skip trying to compress chunks that are sourced from files that are known to be encrypted/compressed - Improvement: Add global open file cache for written files increasing throughput during download by reducing overhead of open/close of file by 80%
* http client streaming upload (#413)Dan Engelbrecht2025-06-021-131/+18
| | | - Improvement: Add streaming upload from HttpClient to reduce I/O caused by excessive MMap usage
* optimize block store CompactBlocks (#384)Dan Engelbrecht2025-05-071-0/+29
| | | | | - Improvement: Optimize block compact reducing memcpy operations - Improvement: Handle padding of block store blocks when compacting to avoid excessive flusing of write buffer - Improvement: Handle padding when writing oplog index snapshot to avoid unnecessary flushing of write buffer
* long filename support (#330)Dan Engelbrecht2025-03-311-6/+6
| | | - Bugfix: Long file paths now works correctly on Windows
* collapse local writes (#310)Dan Engelbrecht2025-03-181-0/+6
| | | * collapse read/writes during local data copy
* pick up existing cache (#299)Dan Engelbrecht2025-03-101-13/+24
| | | | | | - Improvement: Scavenge .zen temp folders for existing data (downloaded, decompressed or written) from previous failed run - Improvement: Faster abort during stream compression - Improvement: Try to move downloaded blobs with rename if possible avoiding an extra disk write - Improvement: Only clean temp folders on successful or cancelled build - keep it if download fails
* improvements and infrastructure for upcoming builds api command line (#284)Dan Engelbrecht2025-02-251-19/+60
| | | | | | | | | | | | | | * add modification tick to filesystem traversal * add ShowDetails option to ProgressBar * log callstack if we terminate process * handle chunking if MaxSize > 1MB * BasicFile write helpers and WriteToTempFile simplifications * bugfix for CompositeBuffer::IterateRange when using DecompressToComposite for actually comrpessed data revert of earlier optimization * faster compress/decompress for large disk-based files * enable progress feedback in IoHash::HashBuffer * add payload validation in HttpClient::Get * fix range requests (range is including end byte) * remove BuildPartId for blob/block related operations in builds api
* move WriteToTempFile to basicfile.h (#283)Dan Engelbrecht2025-02-121-2/+62
| | | add helper constructors to BasicFile
* move basicfile.h/cpp -> zencore (#273)Dan Engelbrecht2025-01-161-0/+1033
move jupiter.h/cpp -> zenutil move packageformat.h/.cpp -> zenhttp zenutil now depends on zenhttp instead of the inverse