# HG changeset patch # User Sergey Kandaurov # Date 1603278203 -3600 # Node ID ee06a813756ce698e4a29f81b6d88af3db55e039 # Parent d8a0bb1e85bfdca484fe8cb90965c19a7547d896 QUIC: teach how to compute only the length of created QUIC headers. It will be used for precise expansion of UDP datagram payload. diff -r d8a0bb1e85bf -r ee06a813756c src/event/ngx_event_quic_transport.c --- a/src/event/ngx_event_quic_transport.c Wed Oct 21 12:03:22 2020 +0100 +++ b/src/event/ngx_event_quic_transport.c Wed Oct 21 12:03:23 2020 +0100 @@ -420,6 +420,12 @@ { u_char *p, *start; + if (out == NULL) { + return 5 + 2 + pkt->dcid.len + pkt->scid.len + + ngx_quic_varint_len(pkt_len + pkt->num_len) + pkt->num_len + + (pkt->level == ssl_encryption_initial ? 1 : 0); + } + p = start = out; *p++ = pkt->flags; @@ -465,6 +471,10 @@ { u_char *p, *start; + if (out == NULL) { + return 1 + pkt->dcid.len + pkt->num_len; + } + p = start = out; *p++ = pkt->flags;