# HG changeset patch # User Vladimir Homutov # Date 1594624040 -10800 # Node ID 9ed4c12ec948650f8a6653617291bdbee8fbb85d # Parent 0d1ad81dd65c85eccb5ba502b8f9c8d803aee7c1 QUIC: caching c->quic in the ngx_quic_handle_ack_frame() function. To minimize difference with the following changes. diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -2248,14 +2248,17 @@ static ngx_int_t ngx_quic_handle_ack_frame(ngx_connection_t *c, ngx_quic_header_t *pkt, ngx_quic_ack_frame_t *ack) { - ssize_t n; - u_char *pos, *end; - uint64_t gap, range; - ngx_msec_t send_time; - ngx_uint_t i, min, max; - ngx_quic_send_ctx_t *ctx; - - ctx = ngx_quic_get_send_ctx(c->quic, pkt->level); + ssize_t n; + u_char *pos, *end; + uint64_t gap, range; + ngx_msec_t send_time; + ngx_uint_t i, min, max; + ngx_quic_send_ctx_t *ctx; + ngx_quic_connection_t *qc; + + qc = c->quic; + + ctx = ngx_quic_get_send_ctx(qc, pkt->level); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "quic ngx_quic_handle_ack_frame level %d", pkt->level); @@ -2267,7 +2270,7 @@ ngx_quic_handle_ack_frame(ngx_connection */ if (ack->first_range > ack->largest) { - c->quic->error = NGX_QUIC_ERR_FRAME_ENCODING_ERROR; + qc->error = NGX_QUIC_ERR_FRAME_ENCODING_ERROR; ngx_log_error(NGX_LOG_INFO, c->log, 0, "quic invalid first range in ack frame"); return NGX_ERROR; @@ -2313,7 +2316,7 @@ ngx_quic_handle_ack_frame(ngx_connection pos += n; if (gap >= min) { - c->quic->error = NGX_QUIC_ERR_FRAME_ENCODING_ERROR; + qc->error = NGX_QUIC_ERR_FRAME_ENCODING_ERROR; ngx_log_error(NGX_LOG_INFO, c->log, 0, "quic invalid range %ui in ack frame", i); return NGX_ERROR; @@ -2322,7 +2325,7 @@ ngx_quic_handle_ack_frame(ngx_connection max = min - 1 - gap; if (range > max + 1) { - c->quic->error = NGX_QUIC_ERR_FRAME_ENCODING_ERROR; + qc->error = NGX_QUIC_ERR_FRAME_ENCODING_ERROR; ngx_log_error(NGX_LOG_INFO, c->log, 0, "quic invalid range %ui in ack frame", i); return NGX_ERROR;