Mercurial > hg > nginx
comparison src/core/ngx_connection.c @ 9107:adcc6d8acfd4 quic
Common tree insert function for QUIC and UDP connections.
Previously, ngx_udp_rbtree_insert_value() was used for plain UDP and
ngx_quic_rbtree_insert_value() was used for QUIC. Because of this it was
impossible to initialize connection tree in ngx_create_listening() since
this function is not aware what kind of listening it creates.
Now ngx_udp_rbtree_insert_value() is used for both QUIC and UDP. To make
is possible, a generic key field is added to ngx_udp_connection_t. It keeps
client address for UDP and connection ID for QUIC.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Sun, 14 May 2023 12:30:11 +0400 |
parents | afebde21cb32 |
children | 58afcd72446f |
comparison
equal
deleted
inserted
replaced
9106:113e2438dbd4 | 9107:adcc6d8acfd4 |
---|---|
69 if (ls->addr_text.data == NULL) { | 69 if (ls->addr_text.data == NULL) { |
70 return NULL; | 70 return NULL; |
71 } | 71 } |
72 | 72 |
73 ngx_memcpy(ls->addr_text.data, text, len); | 73 ngx_memcpy(ls->addr_text.data, text, len); |
74 | |
75 #if !(NGX_WIN32) | |
76 ngx_rbtree_init(&ls->rbtree, &ls->sentinel, ngx_udp_rbtree_insert_value); | |
77 #endif | |
74 | 78 |
75 ls->fd = (ngx_socket_t) -1; | 79 ls->fd = (ngx_socket_t) -1; |
76 ls->type = SOCK_STREAM; | 80 ls->type = SOCK_STREAM; |
77 | 81 |
78 ls->backlog = NGX_LISTEN_BACKLOG; | 82 ls->backlog = NGX_LISTEN_BACKLOG; |