comparison src/http/v3/ngx_http_v3_parse.c @ 8824:81a3429db8b0 quic

HTTP/3: delayed Insert Count Increment instruction. Sending the instruction is delayed until the end of the current event cycle. Delaying the instruction is allowed by quic-qpack-21, section 2.2.2.3. The goal is to reduce the amount of data sent back to client by accumulating several inserts in one instruction and sometimes not sending the instruction at all, if Section Acknowledgement was sent just before it.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 27 Jan 2022 12:20:47 +0300
parents 5c86189a1c1b
children 5b1011b5702b
comparison
equal deleted inserted replaced
8823:6434160b4b78 8824:81a3429db8b0
393 393
394 if (st->prefix.insert_count > 0) { 394 if (st->prefix.insert_count > 0) {
395 if (ngx_http_v3_send_ack_section(c, c->quic->id) != NGX_OK) { 395 if (ngx_http_v3_send_ack_section(c, c->quic->id) != NGX_OK) {
396 return NGX_ERROR; 396 return NGX_ERROR;
397 } 397 }
398
399 ngx_http_v3_ack_insert_count(c, st->prefix.insert_count);
398 } 400 }
399 401
400 st->state = sw_start; 402 st->state = sw_start;
401 return NGX_DONE; 403 return NGX_DONE;
402 } 404 }