cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: multiplexing issues on libcurl HTTP2

From: Tatsuhiro Tsujikawa <tatsuhiro.t_at_gmail.com>
Date: Sat, 9 Jan 2016 01:07:37 +0900

Hi,

On Sat, Jan 9, 2016 at 12:06 AM, Daniel Stenberg <daniel_at_haxx.se> wrote:

> On Fri, 8 Jan 2016, Bankde wrote:
>
> === First Issue: The stream max is always at 13. MAX_CONCURRENT_STREAMS
>> reached, skip (13). ===
>>
>
> Ack. I can repeat this too, as it seems we don't see the settings frame
> (we use 13 as our silly internal default until the setting has been
> received). This seems like a regression that's happened at some point.
> Possibly in nghttp2 even.
>
> Tatsuhiro, can you give it a quick look?
>
> Client code:
>
> http://curl.haxx.se/libcurl/c/http2-download.html
>
> I kick off my test server like this:
>
> https://github.com/bagder/curl-http2-dev/blob/master/run-nghttp2.sh
>
> And just getting a single download shoud get
>
> "Got SETTINGS for stream 1"
>
> ... somewhere in the verbose output. Output we receive the
> SETTINGS_MAX_CONCURRENT_STREAMS from the server, but it doesn't seem to
> happen!?
>
>
​Confirmed it does not work quite right. nghttp does work, so inspecting
libcurl code and found this:
https://github.com/bagder/curl/blob/c338d8cf9c173858d176b73ef80787907bd2d3bf/lib/http2.c#L414

This basically ignores frame with stream ID == 0, including SETTINGS.

​Best regards,
Tatsuhiro Tsujikawa​

> --
>
> / daniel.haxx.se
>

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2016-01-08