aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/compress.cpp
Commit message (Collapse)AuthorAgeFilesLines
* improved post upload/download summary (#308)Dan Engelbrecht2025-03-181-50/+80
| | | | | | | | | * added ValidateStatistics and improved post upload summary * improved download statistics * smoother stats update when compressing * better feedback during stream compresss/decompress * don't capture TotalPartWriteCount by reference * disk stats cleanup * multi-test-download overall timer
* pick up existing cache (#299)Dan Engelbrecht2025-03-101-16/+35
| | | | | | - 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
* streaming compress (#295)Dan Engelbrecht2025-03-051-2/+169
| | | | - Improvement: Validate hash of decompressed data inline with streaming decompression - Improvement: Do streaming compression of large blobs to improve memory and I/O performance
* stream decompress (#293)Dan Engelbrecht2025-03-041-0/+186
| | | | * clean up latency parameters and slow down rate updates * add DecompressToStream
* improvements and infrastructure for upcoming builds api command line (#284)Dan Engelbrecht2025-02-251-53/+161
| | | | | | | | | | | | | | * 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
* safer partial requests (#82)Dan Engelbrecht2024-05-171-34/+46
| | | | * fix partial cache miss logging * Handle zero size partial requests safer
* compressed header reading opt (#33)Dan Engelbrecht2024-04-031-52/+86
| | | * refactor so we don't have to re-read data from source to get block sizes
* non memory copy compressed range (#13)Dan Engelbrecht2024-03-201-0/+192
| | | | | * Add CompressedBuffer::GetRange that references source data rather than make a memory copy * Use Compressed.CopyRange in project store GetChunkRange * docs for CompressedBuffer::CopyRange and CompressedBuffer::GetRange
* special treatment large oplog attachments v2 (#5)Dan Engelbrecht2024-03-141-9/+21
| | | | | - Bugfix: Install Ctrl+C handler earlier when doing `zen oplog-export` and `zen oplog-export` to properly cancel jobs - Improvement: Add ability to block a set of CAS entries from GC in project store - Improvement: Large attachments and loose files are now split into smaller chunks and stored in blocks during oplog export
* header only compressed buffers are valid (#604)Dan Engelbrecht2023-12-121-2/+2
| | | - Bugfix: Allow attachments that contains a raw size of zero
* streaming decompression support (#142)Stefan Boberg2023-05-231-20/+786
| | | Added CompressedBufferReader support from UE. This provides some streaming decompression support which can be employed to reduce memory and other resource usage.
* cleaned up how Oodle is incorporatedStefan Boberg2023-05-021-4/+1
| | | | changed win64 to be more in line with other platforms wrt xmake config
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-0/+1353
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees