From d252310ac169f35724e31cd534d63b3155c98482 Mon Sep 17 00:00:00 2001 From: ben Date: Sun, 16 Jan 2005 14:43:12 +0000 Subject: [PATCH] Be a little less enthusiastic about sending SSH_MSG_CHANNEL_WINDOW_ADJUST: only send it when it will significantly increase the server's idea of our window. This avoids the slew of one-byte WINDOW_ADJUSTs that an interactive shell typically generates. git-svn-id: svn://svn.tartarus.org/sgt/putty@5121 cda61777-01e9-0310-a592-d414129be87e --- ssh.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ssh.c b/ssh.c index e693fb6a..7538b559 100644 --- a/ssh.c +++ b/ssh.c @@ -5439,7 +5439,14 @@ static void ssh2_set_window(struct ssh_channel *c, unsigned newwin) if (c->closes != 0) return; - if (newwin > c->v.v2.locwindow) { + /* + * Only send a WINDOW_ADJUST if there's significantly more window + * available than the other end thinks there is. This saves us + * sending a WINDOW_ADJUST for every character in a shell session. + * + * "Significant" is arbitrarily defined as half the window size. + */ + if (newwin > c->v.v2.locwindow * 2) { struct Packet *pktout; pktout = ssh2_pkt_init(SSH2_MSG_CHANNEL_WINDOW_ADJUST); -- 2.11.0