Skip to content

Conversation

tnull
Copy link
Collaborator

@tnull tnull commented Sep 12, 2025

As an intermediary step towards making our IO fully async, we now require any store to implement both KVStore and KVStoreSync, which allows us to switch over to the fully-async background processor and take further migration steps bit-by-bit when we make more and more of the core codebase async.

To this end, we refactor VssStore and SqliteStore to implement KVStore

TODOs:

  • Implement KVStore for TestStore upstream to fix tests
  • Implement write-order tracking for the VSS KVStore implementation

.. draft until then.

@ldk-reviews-bot
Copy link

ldk-reviews-bot commented Sep 12, 2025

👋 Hi! This PR is now in draft status.
I'll wait to assign reviewers until you mark it as ready for review.
Just convert it out of draft status when you're ready for review!

@tnull
Copy link
Collaborator Author

tnull commented Sep 18, 2025

This now builds based on the just-merged lightningdevkit/rust-lightning#4069. We have yet to add write-version tracking for VSS.

@tnull tnull force-pushed the 2025-09-async-vss-store branch 3 times, most recently from c4251d4 to 7158653 Compare September 18, 2025 09:52
@tnull tnull moved this to Goal: Merge in Weekly Goals Sep 18, 2025
@tnull tnull self-assigned this Sep 18, 2025
.. first step to make review easier.
.. as we're gonna reuse the `async` `_internal` methods shortly.
.. where the former holds the latter in an `Arc` that can be used in
async/`Future` contexts more easily.
We implement the async `KVStore` trait for `VssStore`.
.. to be easier reusable via `KVStore` also
.. where the former holds the latter in an `Arc` that can be used in
async/`Future` contexts more easily.
.. to be easier reusable via `KVStore` also
.. where the former holds the latter in an `Arc` that can be used in
async/`Future` contexts more easily.
As an intermediary step, we require any store to implement both
`KVStore` and `KVStoreSync`, allowing us to switch over step-by-step.

We already switch to the fully-async background processor variant here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Goal: Merge
Development

Successfully merging this pull request may close these issues.

2 participants