ipfs / ipfs/go-graphsync

GraphSync can partially cancel a request

Open
#24 0 comments 0 reactions 0 assignees View on GitHub
effort/weeks exp/wizard P3
Dominant language
Go
Stars
103
Forks
41
PR merge metrics
No merged PRs in 30d

Description

This isn't necessary for the MVP but GraphSync will _eventually_ need some way to partially cancel a request. We can do this by either:

1. Adding a way to tell a remote peer to _not_ send some sub-dag rooted at a specific CID. This will require a protocol change but may be the easiest to implement.
2. Making it possible to atomically cancel one selector and replace it with another _without_ sending duplicate blocks. To do this:
a. The requester would need to be able to create a selector for the remainder of an in-progress selector.
b. The responder would need to keep track of the last N blocks (or just a bloom filter?) sent to the requester as the replacement selector will end up overlapping with the original selector.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.