Add pausing and unpausing of requests#62
Merged
hannahhoward merged 10 commits intomasterfrom Apr 21, 2020
Merged
Conversation
7f766de to
6284ce1
Compare
switch to iterative traversal that is more amenable to interruption
Add a return value to SendResponse in peer response sender to return the number of block bytes transmitted. Note: does not count unsent blocks. Also convert block size measurements to uint64
add first implementation of response pausing in response manager
extract hooks as independant functionality
requesthooks.go directory -> requesthooks
6284ce1 to
e42842b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goals
Support pausing of in progress requests, which we can resume without needing rerequest and duplicate data.
Implementation
For discussion
I believe the traverser concept can simplify the requesting side as well but have not dug into it yet.
Also, there are enough architectural shifts here we may want to update the archtecture doc.