restic/internal/data
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
..
testdata data: fix invalid trees used in test cases 2026-01-31 19:18:36 +01:00
duration.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
duration_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
find.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
find_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
node.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
node_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
node_windows.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_find.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_find_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_group.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_group_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_policy.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_policy_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
snapshot_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
tag_list.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
tag_list_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
testing.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
testing_test.go repository: add dedicated test helper 2025-10-03 19:34:33 +02:00
tree.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
tree_stream.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
tree_test.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00