Subject: WINDOW_UPDATE(0) ?

From: "Poul-Henning Kamp" <[email-masked]>
Date: Thu, 03 Jul 2014 07:37:15 +0000

Draft -13 doesn't say what WINDOW_UPDATE(0) means ?

Should the text read "0 to 2^31-1" instead of "1 to 2^31-1"
or should we explicitly mention it to be reserved, undefined
or to be ignored ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
[email-masked]         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

---

From: Cory Benfield <[email-masked]>
Date: Thu, 3 Jul 2014 08:48:54 +0100

> or should we explicitly mention it to be reserved, undefined

You're right, there's no explicit description here, but I'd argue that
this text:

>The legal range for the increment to the flow control window is 1 to
> 2^31 - 1 (0x7fffffff) bytes.

means that WINDOW_UPDATE(0) is a protocol error. I'd want to tear down
the stream with GOAWAY, error code PROTOCOL_ERROR (because it's not in
the explicitly enumerated reasons for using FLOW_CONTROL_ERROR). I
think we should update the spec to either allow it (as a no-op) or
reject with error code FLOW_CONTROL_ERROR.

---

From: "Poul-Henning Kamp" <[email-masked]>
Date: Thu, 03 Jul 2014 07:57:50 +0000

>the stream with GOAWAY, [...]

I would just have ignored it :-)

But yes, any defined meaning is better than not mentioned at all.

---

From: Martin Thomson <[email-masked]>
Date: Thu, 3 Jul 2014 12:27:27 -0700

> I would just have ignored it :-)

Thanks for catching it, PROTOCOL_ERROR was the intent, but I missed it
somewhere.