]> git.kaiwu.me - nginx.git/commit
QUIC: simplified quic connection dispatching.
authorVladimir Homutov <vl@nginx.com>
Fri, 2 Apr 2021 08:31:37 +0000 (11:31 +0300)
committerVladimir Homutov <vl@nginx.com>
Fri, 2 Apr 2021 08:31:37 +0000 (11:31 +0300)
commit20f3d107df1ee8c565af8763176e48cb6589adab
tree51d3e845202ef6ff28fe07e750ca87e19ef1b661
parentf3489441b202b40a119e4c4dd4e580c3f7b97721
QUIC: simplified quic connection dispatching.

Currently listener contains rbtree with multiple nodes for single QUIC
connection: each corresponding to specific server id.  Each udp node points
to same ngx_connection_t, which points to QUIC connection via c->udp field.

Thus when an event handler is called, it only gets ngx_connection_t with
c->udp pointing to QUIC connection.  This makes it hard to obtain actual
node which was used to dispatch packet (it requires to repeat DCID lookup).

Additionally, ngx_quic_connection_t->udp field is only needed to keep a
pointer in c->udp. The node is not added into the tree and does not carry
useful information.
src/event/ngx_event_udp.c
src/event/quic/ngx_event_quic.c
src/event/quic/ngx_event_quic.h