nimbus-eth1/nimbus/sync/snap
Jordan Hrycaj bba1bea4c8
Snap sync state save (#1302)
* Piecemeal trie inspection

details:
  Trie inspection will stop after maximum number of nodes visited.
  The inspection can be resumed using the returned state from the
  last session.

why:
  This feature allows for task switch between `piecemeal` sessions.

* Extract pivot helper code from `worker.nim` => `pivot_helper.nim`

* Accounts import will now return dangling paths from `proof` nodes

why:
  With proper bookkeeping, this can be used to start healing without
  analysing the the probably full trie.

* Update `unprocessed` account range handling

why:
  More generally, the API of a pairs of unprocessed intervals favours
  the first set and not before that is exhausted the second set comes
  into play.

  This was unfortunately implemented which caused the ranges to be
  unnecessarily fractioned. Now the number of range interval typically
  remains in the lower single digit numbers.

* Save sync state after end of downloading some accounts

details:
  restore/resume to be implemented later
2022-11-16 23:51:06 +00:00
..
worker Snap sync state save (#1302) 2022-11-16 23:51:06 +00:00
constants.nim Snap sync state save (#1302) 2022-11-16 23:51:06 +00:00
range_desc.nim Snap sync state save (#1302) 2022-11-16 23:51:06 +00:00
worker.nim Snap sync state save (#1302) 2022-11-16 23:51:06 +00:00
worker_desc.nim Snap sync state save (#1302) 2022-11-16 23:51:06 +00:00