Skip to content
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

Add extension for 'do not explore cids' #183

Closed
willscott opened this issue Aug 2, 2021 · 3 comments
Closed

Add extension for 'do not explore cids' #183

willscott opened this issue Aug 2, 2021 · 3 comments
Labels
need/triage Needs initial labeling and prioritization

Comments

@willscott
Copy link
Collaborator

Currently, graphsync supports an extension for doNotSendCIDs, which provides a list of CIDs that should not be sent during a transfer.

It may be the case that the requester wants to receive a dag, but wants to stop graph retrieval whenever a CID is reached. For instance, consider the use case of synchronizing a chain, but only back to the point of previous synchronization.

This could either be done as an extension to graphsync, as proposed here, or incorporated into the IPLD selector syntax.

Adding an extension here may remain useful as a way to more efficiently resume transfers with the ability to collapse the described 'cids i already have' to just roots of subtrees that have been received previously. The graphsync extension path also is likely a faster path for prototyping this behavior than the selector alternative.

@willscott willscott added the need/triage Needs initial labeling and prioritization label Aug 2, 2021
@welcome
Copy link

welcome bot commented Aug 2, 2021

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review.
In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additional round trips is useful! We currently aim to give initial feedback within two business days. If this does not happen, feel free to leave a comment.
Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

  • "Priority" labels will show how urgent this is for the team.
  • "Status" labels will show if this is ready to be worked on, blocked, or in progress.
  • "Need" labels will indicate if additional input or analysis is required.

Finally, remember to use https://discuss.ipfs.io if you just need general support.

@willscott
Copy link
Collaborator Author

After considering this more, i think the right way to do this is in selectors.
Extended that within the context of existing spec definition in
ipld/go-ipld-prime#214

@willscott
Copy link
Collaborator Author

merged at the ipld-prime layer

marten-seemann pushed a commit that referenced this issue Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need/triage Needs initial labeling and prioritization
Projects
None yet
Development

No branches or pull requests

1 participant