[ledger] Don't wait on LevelDb initialization for page-usage db.

Bug: LE-652 #done

PageEvictionManagerImpl initialization (and consequently
DiskCleanupManager initialization) is no longer blocked on
initializing the required LevelDb instance. To do this, page usage
db is now getting the LevelDb instance throught LevelDbFactory, which
uses the I/O thread for creating it.

This CL also implements GetIteratorAtPrefix in FakeDb and uses FakeDb
on disk_cleanup_manager_unittest and page_eviction_manager_impl_unittest.

Test: Existing test still pass.
      Modular integration tests are no longer flaky on the qemu bots

Change-Id: Ic7df8e62a310f23500bc1a9c1b9640c17ec25f5e
12 files changed
tree: ca0a3a3e74a0bfb376338202b64d291b9e45020d
  1. bin/
  2. boards/
  3. build/
  4. cloud/
  5. docs/
  6. examples/
  7. infra/
  8. lib/
  9. packages/
  10. products/
  11. public/
  12. tests/
  13. third_party/
  14. web/
  15. .clang-format
  16. .clang-tidy
  17. .gitignore
  18. AUTHORS
  19. BUILD.gn
  20. CONTRIBUTING.md
  21. LICENSE
  22. navbar.md
  23. PATENTS
  24. README.md
README.md

Peridot

Peridot is a framework for composed, intelligent and distributed user experiences.

Applications not explicitly designed to interoperate (and possibly implemented in different programming languages) are ephemerally downloaded and dynamically composed to run in a shared context. The framework manages application lifecycle, resources and view hierarchy; and well as context and suggestion infrastructure.

State of Peridot experiences is transparently synchronized across user devices using a distributed offline-first storage system.

Read more