Use local_settings' INITIAL_WINDOW_SIZE when deciding to send WINDOW_UPDATE.

This commit is contained in:
Tatsuhiro Tsujikawa 2012-05-08 00:08:24 +09:00
parent c009b1e65c
commit 67eca8d078
1 changed files with 3 additions and 1 deletions

View File

@ -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);