Commit Graph

2 Commits

Author SHA1 Message Date
Michal Fousek 0032fedde7 [#442] Introduce parallel downloading and scanning
- `BlockDownloaderImpl` is changed. It now spawns detached Task to
  download blocks. So blocks can be downloaded in parallel with scanning
  process.
- `Synchronizer.stop()` is no longer async.
- Blocks cache cleaning is changed. It's not possible to drop the whole
  cache now. There are some blocks pre-downloaded which weren't scanned
  yet.
2023-05-05 09:35:43 +02:00
Michal Fousek 8e5db5e0b5 [#876] Add tests which runs multiple instances of the SDKSynchronizer
Closes #876.

- Add `testMultipleSynchronizersCanRunAtOnce()` test which creates
  multiple instances of the `SDKSynchronizer` and then executes sync in
  parallel.
- To achieve this it's required to have multiple instances of the
  lightwalletd in the darkside mode. Because of this new test is in the
  new target `AliasDarksideTests`. It's little bit harder to run this
  test than to run regular darkside tests. So it has it's own target.
- Fix bug when all the instances of the `SDKSynchronizer` used same data
  DB even with different aliases.
- Add script to run multiple instances of the lightwalletd in
  darkside mode. And add script to stop these instances and clean after
  those.
- Update `DarksideWalletService` a little so the endpoint can be passed
  to it. Without this it would always use default endpoint when created
  with service.
- Small cleanup in `TestCoordinator`.
2023-03-28 16:11:13 +02:00