# HG changeset patch # User Valentin Bartenev # Date 1390352299 -14400 # Node ID 206c56e23a96deca3e21db56237d8be989d474d1 # Parent 03c198bb2acfbc1dee181629cd0f133d737a19c0 SPDY: better name for frame entries counter. The "headers" is not a good term, since it is used not only to count name/value pairs in the HEADERS block but to count SETTINGS entries too. Moreover, one name/value pair in HEADERS can contain multiple http headers with the same name. No functional changes. diff --git a/src/http/ngx_http_spdy.c b/src/http/ngx_http_spdy.c --- a/src/http/ngx_http_spdy.c +++ b/src/http/ngx_http_spdy.c @@ -862,14 +862,15 @@ ngx_http_spdy_state_headers(ngx_http_spd ngx_http_spdy_state_headers); } - sc->headers = ngx_spdy_frame_parse_uint16(buf->pos); + sc->entries = ngx_spdy_frame_parse_uint16(buf->pos); buf->pos += NGX_SPDY_NV_NUM_SIZE; ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "spdy headers count: %ui", sc->headers); - - if (ngx_list_init(&r->headers_in.headers, r->pool, sc->headers + 3, + "spdy HEADERS block consists of %ui entries", + sc->entries); + + if (ngx_list_init(&r->headers_in.headers, r->pool, sc->entries + 3, sizeof(ngx_table_elt_t)) != NGX_OK) { @@ -888,14 +889,14 @@ ngx_http_spdy_state_headers(ngx_http_spd } } - while (sc->headers) { + while (sc->entries) { rc = ngx_http_spdy_parse_header(r); switch (rc) { case NGX_DONE: - sc->headers--; + sc->entries--; case NGX_OK: break; @@ -1401,35 +1402,35 @@ ngx_http_spdy_state_settings(ngx_http_sp ngx_uint_t v; ngx_http_spdy_srv_conf_t *sscf; - if (sc->headers == 0) { + if (sc->entries == 0) { if (end - pos < NGX_SPDY_SETTINGS_NUM_SIZE) { return ngx_http_spdy_state_save(sc, pos, end, ngx_http_spdy_state_settings); } - sc->headers = ngx_spdy_frame_parse_uint32(pos); + sc->entries = ngx_spdy_frame_parse_uint32(pos); pos += NGX_SPDY_SETTINGS_NUM_SIZE; sc->length -= NGX_SPDY_SETTINGS_NUM_SIZE; - if (sc->length < sc->headers * NGX_SPDY_SETTINGS_PAIR_SIZE) { + if (sc->length < sc->entries * NGX_SPDY_SETTINGS_PAIR_SIZE) { /* TODO logging */ return ngx_http_spdy_state_protocol_error(sc); } ngx_log_debug1(NGX_LOG_DEBUG_HTTP, sc->connection->log, 0, "spdy SETTINGS frame consists of %ui entries", - sc->headers); + sc->entries); } - while (sc->headers) { + while (sc->entries) { if (end - pos < NGX_SPDY_SETTINGS_PAIR_SIZE) { return ngx_http_spdy_state_save(sc, pos, end, ngx_http_spdy_state_settings); } - sc->headers--; + sc->entries--; if (pos[0] != NGX_SPDY_SETTINGS_MAX_STREAMS) { pos += NGX_SPDY_SETTINGS_PAIR_SIZE; diff --git a/src/http/ngx_http_spdy.h b/src/http/ngx_http_spdy.h --- a/src/http/ngx_http_spdy.h +++ b/src/http/ngx_http_spdy.h @@ -100,7 +100,7 @@ struct ngx_http_spdy_connection_s { ngx_http_spdy_stream_t *stream; - ngx_uint_t headers; + ngx_uint_t entries; size_t length; u_char flags;