From 67eca8d0789d644c1763410211479e77990ea8ea Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Tue, 8 May 2012 00:08:24 +0900 Subject: [PATCH] Use local_settings' INITIAL_WINDOW_SIZE when deciding to send WINDOW_UPDATE. --- lib/spdylay_session.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/spdylay_session.c b/lib/spdylay_session.c index 40c879de..91f933db 100644 --- a/lib/spdylay_session.c +++ b/lib/spdylay_session.c @@ -2253,8 +2253,10 @@ static int spdylay_session_update_recv_window_size(spdylay_session *session, if(stream) { stream->recv_window_size += delta_size; /* This is just a heuristics. */ + /* We have to use local_settings here because it is the constraint + the remote endpoint should honor. */ if((size_t)stream->recv_window_size*2 >= - session->remote_settings[SPDYLAY_SETTINGS_INITIAL_WINDOW_SIZE]) { + session->local_settings[SPDYLAY_SETTINGS_INITIAL_WINDOW_SIZE]) { int r; r = spdylay_session_add_window_update(session, stream_id, stream->recv_window_size);