-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
any plans on an async interface? #48
Comments
That’s a cool project @bnewbold, I might want to have a look and possibly contribute! Regarding this block store: sqlite is fundamentally synchronous, so there is nothing to be gained from making this BlockStore use
|
Ok, thanks for the response. Right now i'm using a simple Mutex around the blockstore. Here is my work in progress: https://gitlab.com/bnewbold/adenosine |
I have a couple other questions / feature requests. I can move these elsewhere if that would be better:
|
Sharing sqlite is done by opening multiple Connections, so I don’t think there is a necessity to add an API in the block store (this is also done in ipfs-embed to run GC). Regarding LiteFS: that doesn’t seem to require much in terms of support, but it is not clear to me why this particular block store should care — IPFS is peer-to-peer after all, with mechanisms to move data between nodes, so why should the local block store also move data between nodes? Concerning graph walkers I agree with you that they should probably live in a layer atop IPLD & block store. |
Hi! I'm curious if there is any intention of adding an async/await interface to this library. The docs say "For blocking usage, use BlockStore", which I read as there might be.
I'm not sure if this would make any sense building on top of rusqlite, but I thought I would ask. An alternative I was looking at was
iroh
, which seems to have an async blockstore internally, built on RocksDB. But that project has not published any crates yet, and does not seem as mature as this one, at the present moment.The project i'm currently working on is an implementation of the bluesky atproto "personal data server", which needs a blockstore. I've gotten things working with a blocking API, but it feels like the sort of project/service which would benefit from async networking and I/O.
The text was updated successfully, but these errors were encountered: