nimbus-eth1/nimbus/sync/snap/worker/db
Jordan Hrycaj 15d0ccb39c
Prepare snap server client test scenario cont4 (#1507)
* Add state root to node steps path register `RPath` or `XPath`

why:
  Typically, the first node in the path register is the state root. There
  are occasions, when the path register is empty (i.e. there are no node
  references) which typically applies to a zero node key.

  In order to find the next node key greater than zero, the state root is
  is needed which is now part of the `RPath` or `XPath` data types.

* Extracted hexary tree debugging functions into separate files

* Update empty path fringe case for left/right node neighbour

why:
  When starting at zero, the node steps path register would be empty. So
  will any path that is before the fist non-zero link of a state root (if
  it is a `Branch` node.)

  The `hexaryNearbyRight()` or `hexaryNearbyLeft()` function required a
  non-zero node steps path register.  Now the first node is to be advanced
  starting at the first state root link if necessary.

* Simplify/reorg neighbour node finder

why:
  There was too mach code repetition for the cases
  * persistent or in-memory database
  * left or right move

details:
  Most algorithms apply for persistent and in-memory alike. Using
  templates/generic functions most of these algorithms can be stated
  in a unified way

* Update storage slots snap/1 handler

details:
  Minor changes to be more debugging friendly.

* Fix detection of full database for snap sync

* Docu: Snap sync test & debugging scenario
2023-03-17 14:46:50 +00:00
..
hexary_debug.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_desc.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_envelope.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_error.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_import.nim Prepare snap server client test scenario cont2 (#1487) 2023-03-07 14:23:22 +00:00
hexary_inspect.nim Silence some compiler gossip -- part 8, sync (#1467) 2023-02-14 23:38:33 +00:00
hexary_interpolate.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_nearby.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_paths.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
hexary_range.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
rocky_bulk_load.nim Silence some compiler gossip -- part 8, sync (#1467) 2023-02-14 23:38:33 +00:00
snapdb_accounts.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
snapdb_debug.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
snapdb_desc.nim Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
snapdb_persistent.nim Silence some compiler gossip -- part 8, sync (#1467) 2023-02-14 23:38:33 +00:00
snapdb_pivot.nim Silence compiler gossip after nim upgrade (#1454) 2023-01-30 22:10:23 +00:00
snapdb_storage_slots.nim Prepare snap server client test scenario cont2 (#1487) 2023-03-07 14:23:22 +00:00