-
Notifications
You must be signed in to change notification settings - Fork 38
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
Track actual network operations in a response #102
Conversation
build an architecture via which we can pass on notifications
pass notifications on from peer response sender based on message queue notifications
Pass on network errors through the response manager, pass block sent errors as well
781f52d
to
468cdd4
Compare
Wow, that's quite a bit of code! I wish I could help with a meaningful review, I've done a skim but I don't think I have anything helpful to add. So 🤷 if it seems to be working then you're in the best position to make a call on it. This doesn't do anything at the protocol level, does it? Alternative implementations don't need to care about anything you've added here do they? |
This reverts commit 7bf368a.
@rvagg I appreciate the review... it's unfortunate that I don't have a better guide to this code... once I've got distance form filecoin I'm going to work on making this code base simpler. In the meantime, Nope, no protocol changes. Alternative implementations would only care in as much as they want to provide the same functionality to their consumers... (i.e. effective notifications about what's going on with your request) -- which is to say, completely optional. |
* feat(graphsync): make compatible across protocol while we had setup message comptability over libp2p we had not handled if the other peer only sends message1_0 over graphsync. Support this by always sending both extensions when possible and defaulting to 1_1 when present * fix(deps): update to tagged go-graphsync
Goals
Provide a way on the responding side to know how much data has gone over the wire and to know when actual network errors occur
Implementation
Essentially, or goal here is a pub-sub system to escalate asyncronous notifications back through the chain of callers to provide information to the response manager about what actually happened with data it attempted to send over the wire
For Discussion
It's possible the notification system is unneccesarily complicated. It seems like a useful tool for the future though.