DefaultHttp2Stream uses a trailer field instead of writing the trailers to the inbound queue. - #6358
Open
vietj wants to merge 1 commit into
Open
DefaultHttp2Stream uses a trailer field instead of writing the trailers to the inbound queue.#6358vietj wants to merge 1 commit into
vietj wants to merge 1 commit into
Conversation
…rs to the inbound queue. Motivation: DefaultHttp2Stream uses an inbound queue and write the trailers as last message / sentinel. As consequence the inbound queue type parameter is object, while it mostly contains buffers. We can use an sentinel buffer to signal the end of the stream and write the trailers as a field. The context will read the trailers field correctly using the happens-before relationship provided by the inbound message queue write/read. Changes: Write the trailers to a trailers field when notified by the stream inbound trailers, then write the end of stream last message. Read the trailers field after receiving the end of stream last message.
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.
Motivation:
DefaultHttp2Stream uses an inbound queue and write the trailers as last message / sentinel.
As consequence the inbound queue type parameter is object, while it mostly contains buffers.
We can use an sentinel buffer to signal the end of the stream and write the trailers as a field.
The context will read the trailers field correctly using the happens-before relationship provided by the inbound message queue write/read.
Changes:
Write the trailers to a trailers field when notified by the stream inbound trailers, then write the end of stream last message.
Read the trailers field after receiving the end of stream last message.