Subject: END_FLOW_CONTROL for particular stream interpretation

From: "Kulkarni, Saurabh" <[email-masked]>
Date: Wed, 24 Jul 2013 18:01:07 -0500

What happens to session level flow control when a WINDOW_UPDATE frame with END_FLOW_CONTROL flag set is received with a particular stream id (stream_id other than "0")?

E.g.
Session Window Size: 64kb
Stream Window Size: 64kb, stream_id: 2
Receive WINDOW_UPDATE  with END_FLOW_CONTROL bit set, stream_id:2

Should the sender follow the session level flow control or ignore flow control for stream_id:2?

- Saurabh

---

From: Patrick McManus <[email-masked]>
Date: Wed, 24 Jul 2013 19:16:21 -0400

I believe the session window is still in effect as usual.. so normally the
max-send is min(stream-window, session-window) and after the window-update,
at least when sending on stream 2 in your example, it is simply
session-window.

On Wed, Jul 24, 2013 at 7:01 PM, Kulkarni, Saurabh <[email-masked]>wrote:

> What happens to session level flow control when a WINDOW_UPDATE frame with
> END_FLOW_CONTROL flag set is received with a particular stream id
> (stream_id other than "0")?
>
> E.g.

---

From: "Kulkarni, Saurabh" <[email-masked]>
Date: Wed, 24 Jul 2013 18:21:18 -0500

Conversely any WINDOW_UPDATE frames for individual streams (stream_id: non zero) need to be rejected when connection level flow control is turned OFF, right?. (Either by WINDOW_UPDATE with END_FLOW_CONTROL bit set for stream_id:0 or by SETTINGS_FLOW_CONTROL_OPTIONS).

- Saurabh

From: Patrick McManus <[email-masked]<mailto:[email-masked]>>
Date: Wednesday, July 24, 2013 4:16 PM
To: Saurabh Kulkarni <[email-masked]<mailto:[email-masked]>>
Cc: HTTP Working Group <[email-masked]<mailto:[email-masked]>>
Subject: Re: END_FLOW_CONTROL for particular stream interpretation

I believe the session window is still in effect as usual.. so normally the max-send is min(stream-window, session-window) and after the window-update, at least when sending on stream 2 in your example, it is simply session-window.

On Wed, Jul 24, 2013 at 7:01 PM, Kulkarni, Saurabh <[email-masked]<mailto:[email-masked]>> wrote:
What happens to session level flow control when a WINDOW_UPDATE frame with END_FLOW_CONTROL flag set is received with a particular stream id (stream_id other than "0")?

E.g.

- Saurabh

---

From: Tatsuhiro Tsujikawa <[email-masked]>
Date: Thu, 25 Jul 2013 09:57:46 +0900

2013/07/25 8:22 "Kulkarni, Saurabh" <[email-masked]>:
>
> Conversely any WINDOW_UPDATE frames for individual streams (stream_id:
non zero) need to be rejected when connection level flow control is turned
OFF, right?. (Either by WINDOW_UPDATE with END_FLOW_CONTROL bit set for
stream_id:0 or by SETTINGS_FLOW_CONTROL_OPTIONS).

My understanding is that:

If SETTINGS_FLOW_CONTROL_OPTIONS with 0x1 is sent, both connection and
stream level flow control are disabled, so yes, it can be rejected.
But only with WINDOW_UPDATE with stream id 0 and END_FLOW_CONTROL flag, it
only disables connection level flow control and stream level flow control
is still alive unless it is turned off individualy.

Best regards,

Tatsuhiro Tsujikawa

> - Saurabh
>
> From: Patrick McManus <[email-masked]>
> To: Saurabh Kulkarni <[email-masked]>
> Cc: HTTP Working Group <[email-masked]>
> I believe the session window is still in effect as usual.. so normally
the max-send is min(stream-window, session-window) and after the
window-update, at least when sending on stream 2 in your example, it is
simply session-window.
>> What happens to session level flow control when a WINDOW_UPDATE frame
with END_FLOW_CONTROL flag set is received with a particular stream id
(stream_id other than "0")?