restic/internal/archiver
Michael Eischer 350f29d921 data: replace Tree with TreeNodeIterator
The TreeNodeIterator decodes nodes while iterating over a tree blob.
This should reduce peak memory usage as now only the serialized tree
blob and a single node have to alive at the same time. Using the
iterator has implications for the error handling however. Now it is
necessary that all loops that iterate through a tree check for errors
before using the node returned by the iterator.

The other change is that it is no longer possible to iterate over a tree
multiple times. Instead it must be loaded a second time. This only
affects the tree rewriting code.
2026-01-31 20:03:38 +01:00
..
archiver.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
archiver_test.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
archiver_unix_test.go remove old // +build comments 2025-11-30 11:53:23 +01:00
buffer.go archiver: convert buffer pool to use sync.Pool 2025-11-26 21:18:22 +01:00
buffer_test.go archiver: improve test reliability 2025-11-26 21:21:16 +01:00
doc.go archiver: hide implementation details 2024-08-31 17:52:45 +02:00
exclude.go backup: allow excluding online-only cloud files 2025-01-13 21:11:23 +01:00
exclude_test.go fs: inline ExtendedStat 2024-11-30 16:19:16 +01:00
file_saver.go archiver: convert buffer pool to use sync.Pool 2025-11-26 21:18:22 +01:00
file_saver_test.go archiver: assert number of uploaded chunks in fileSaver test 2025-11-26 21:18:22 +01:00
scanner.go fs: remove os.FileInfo from fs.ExtendedFileInfo 2024-11-30 17:07:36 +01:00
scanner_test.go fs: remove os.FileInfo from fs.ExtendedFileInfo 2024-11-30 17:07:36 +01:00
testing.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
testing_test.go minimize usage of internal/fs in tests 2024-08-31 18:20:41 +02:00
tree.go archiver: hide implementation details 2024-08-31 17:52:45 +02:00
tree_saver.go archiver: port to repository.SaveBlobAsync 2025-11-26 21:18:22 +01:00
tree_saver_test.go archiver: assert number of uploaded chunks in fileSaver test 2025-11-26 21:18:22 +01:00
tree_test.go archiver: hide implementation details 2024-08-31 17:52:45 +02:00