-
Notifications
You must be signed in to change notification settings - Fork 26
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
(Potentially) only announce Manifest Cid on the DHT #227
Comments
Maybe classify them by type rather than codec? Note that putBlock should provide this info to the store, we can introduce putBlockEx or add an optional parameter to putBlock. Namespaces in Nim-DataStore is the solution that was meant for this usecase from the start. |
|
Yes, exactly. In the PR description for codex-storage/nim-datastore#19, you can see I gave an example of how key structure might be used to distinguish manifests from blocks, and possibly associate blocks with a particular manifest for block in ds.query(Query.init("manifest:abcd1234/block:*")):
let
# key will look like "manifest:abcd1234/block:[cid]"
(key, data) = await block
... How we actually do it should take into account the overhead associated with substrings It would be even more overhead if every block-key had substrings We could shorten to |
As the first step, I will modify API so datastore and network part will know whether Cid defines a dataset or a datablock |
Talking about advertiseQueueLoop(), I see these ideas:
|
Right now, we're announcing every single hash/cid from a dataset on the DHT, this has significant overhead and can be potentially overcome by limiting announcements to only the
Manifest
cid. This would require adding a way to identifying/indexing the Manifests in the repo.The
listBlocks
from theBlockStore
, will take an additional argument with themulticodec
that we want to retrieve. The datastore has to allow querying based on themulticodec
.The text was updated successfully, but these errors were encountered: