Welcome! Log In Create A New Profile

Advanced

[PATCH] SPDY: send PING reply frame right away.

Piotr Sikora
January 09, 2014 08:10PM
# HG changeset patch
# User Piotr Sikora <piotr@cloudflare.com>
# Date 1389316088 -3600
# Fri Jan 10 02:08:08 2014 +0100
# Node ID c26d5f5e8d74dc9ab71476688074717857df5216
# Parent 4aa64f6950313311e0d322a2af1788edeb7f036c
SPDY: send PING reply frame right away.

Previously, PING reply frame was queued right away, but it was send
along subsequent response, which means that in case of long running
request PING reply could have been delayed by more than 10 seconds,
which is the time some browsers are waiting for a PING reply.

Those browsers would then correctly consider such connection broken
and would resend exactly the same request over a new connection,
which isn't safe in case of non-idempotent HTTP methods.

Signed-off-by: Piotr Sikora <piotr@cloudflare.com>

diff -r 4aa64f695031 -r c26d5f5e8d74 src/http/ngx_http_spdy.c
--- a/src/http/ngx_http_spdy.c Sat Jan 04 03:32:22 2014 +0400
+++ b/src/http/ngx_http_spdy.c Fri Jan 10 02:08:08 2014 +0100
@@ -1367,6 +1367,10 @@ ngx_http_spdy_state_ping(ngx_http_spdy_c

pos += NGX_SPDY_PING_SIZE;

+ if (ngx_http_spdy_send_output_queue(sc) == NGX_ERROR) {
+ return ngx_http_spdy_state_protocol_error(sc);
+ }
+
return ngx_http_spdy_state_complete(sc, pos, end);
}

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] SPDY: send PING reply frame right away.

Piotr Sikora 849 January 09, 2014 08:10PM

Re: [PATCH] SPDY: send PING reply frame right away.

Valentin V. Bartenev 309 January 10, 2014 08:28PM

Re: [PATCH] SPDY: send PING reply frame right away.

Piotr Sikora 273 January 13, 2014 06:46PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 89
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready