-
Notifications
You must be signed in to change notification settings - Fork 37
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
connection: ignore window updates after end stream #40
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -294,6 +294,30 @@ describe('Transport/Connection', function () { | |
}) | ||
}) | ||
|
||
it('should ignore WINDOW_UPDATE frame after END_STREAM', function (done) { | ||
client.request({ | ||
path: '/hello' | ||
}, function (err, stream) { | ||
assert(!err) | ||
|
||
stream.resume() | ||
|
||
stream.once('close', function () { | ||
client.on('frame', function (frame) { | ||
assert(!(frame.type === 'RST' && frame.id === 1)) | ||
}) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you could move this assert (306~308) to outside of the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Making this change makes the tests no longer pass. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
client._spdyState.framer.windowUpdateFrame({ | ||
id: stream.id, | ||
delta: 1 | ||
}, function (err) { | ||
assert(!err) | ||
setTimeout(done, 100) | ||
}) | ||
}) | ||
}) | ||
}) | ||
|
||
it('should use last received id when killing streams', function (done) { | ||
var waiting = 2 | ||
function next () { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 306 should be
server.on('frame', ...
, since it will be sent by the client and ignored by the server.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Making this change the tests no longer pass.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Meaning that the frame keeps being emitted? Could you c&p the error log?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.