]> git.kaiwu.me - nginx.git/commit
Create new stream immediately on receiving new stream id.
authorVladimir Homutov <vl@nginx.com>
Wed, 15 Apr 2020 11:29:00 +0000 (14:29 +0300)
committerVladimir Homutov <vl@nginx.com>
Wed, 15 Apr 2020 11:29:00 +0000 (14:29 +0300)
commit2e2d1843c3ec3057ed6b8657a9b483ef16cbae80
tree97e40a8708fd6b821408f30e4ea41e4d94d4d088
parent001b81af88c5f67b789142cd07ba3f08e9f91102
Create new stream immediately on receiving new stream id.

Before the patch, full STREAM frame handling was delayed until the frame with
zero offset is received.  Only node in the streams tree was created.

This lead to problems when such stream was deleted, in particular, it had no
handlers set for read events.

This patch creates new stream immediately, but delays data delivery until
the proper offset will arrive. This is somewhat similar to how accept()
operation works.

The ngx_quic_add_stream() function is no longer needed and merged into stream
handler.  The ngx_quic_stream_input() now only handles frames for existing
streams and does not deal with stream creation.
src/event/ngx_event_quic.c