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

5.1.2 Should wait for settings ACK #136

Open
danielkec opened this issue Nov 12, 2024 · 1 comment
Open

5.1.2 Should wait for settings ACK #136

danielkec opened this issue Nov 12, 2024 · 1 comment

Comments

@danielkec
Copy link

danielkec commented Nov 12, 2024

5.1.2 Tests Stream concurrency limit by setting initial window size to 0.

Problem is that the test is racing against asynchronously handled flow-control on some server impls.

Test should wait for settings ACK before opening first stream.

// Set INITIAL_WINDOW_SIZE to zero to prevent the peer from
// closing the stream.
settings := http2.Setting{
ID: http2.SettingInitialWindowSize,
Val: 0,
}
conn.WriteSettings(settings)
headers := spec.CommonHeaders(c)
blockFragment := conn.EncodeHeaders(headers)
for i := 0; i <= int(maxStreams); i++ {
hp := http2.HeadersFrameParam{
StreamID: streamID,
EndStream: true,
EndHeaders: true,
BlockFragment: blockFragment,
}
conn.WriteHeaders(hp)
streamID += 2
}

image

image

@robaho
Copy link

robaho commented Dec 30, 2024

There are more problems with this test, see #139

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants