comparison src/http/ngx_http_spdy.h @ 5405:620808518349

SPDY: ignore priority when queuing blocked frames. With this change all such frames will be added in front of the output queue, and will be sent first. It prevents HOL blocking when response with higher priority is blocked by response with lower priority in the middle of the queue because the order of their SYN_REPLY frames cannot be changed. Proposed by Yury Kirpichev.
author Valentin Bartenev <vbart@nginx.com>
date Tue, 01 Oct 2013 00:14:37 +0400
parents 15a7deeaa19a
children 916cb6d28f6a
comparison
equal deleted inserted replaced
5404:db85dacfa013 5405:620808518349
171 ngx_http_spdy_queue_blocked_frame(ngx_http_spdy_connection_t *sc, 171 ngx_http_spdy_queue_blocked_frame(ngx_http_spdy_connection_t *sc,
172 ngx_http_spdy_out_frame_t *frame) 172 ngx_http_spdy_out_frame_t *frame)
173 { 173 {
174 ngx_http_spdy_out_frame_t **out; 174 ngx_http_spdy_out_frame_t **out;
175 175
176 for (out = &sc->last_out; *out && !(*out)->blocked; out = &(*out)->next) 176 for (out = &sc->last_out; *out; out = &(*out)->next)
177 { 177 {
178 if (frame->priority >= (*out)->priority) { 178 if ((*out)->blocked) {
179 break; 179 break;
180 } 180 }
181 } 181 }
182 182
183 frame->next = *out; 183 frame->next = *out;