-
Notifications
You must be signed in to change notification settings - Fork 84
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Handle race condition between sending GOAWAY and HEADERS (#457)
Motivation: A potential race exists between a server sending a GOAWAY frame and a client opening a new stream (i.e., sending a HEADERS frame before receiving an already sent GOAWAY frame). If there are no open streams when the server sends the GOAWAY frame, the connection state on the server transitions to being fully quiesced, which throws a connection error on receipt of a HEADERS frame. Modifications: - Adjust the connection state machine on the server to throw a stream error (instead of a connection error), and consequently, send a RST_STREAM frame to the client. Result: This condition will be treated as a stream-level error instead.
- Loading branch information
Showing
4 changed files
with
110 additions
and
8 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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