Bug 185746 - [Curl] Enable HTTP/2 Multiplexing
Summary: [Curl] Enable HTTP/2 Multiplexing
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-05-17 14:35 PDT by Don Olmstead
Modified: 2018-05-17 17:12 PDT (History)
7 users (show)

See Also:


Attachments
Patch (1.20 KB, patch)
2018-05-17 14:55 PDT, Don Olmstead
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Don Olmstead 2018-05-17 14:35:33 PDT
libcurl requires setup to enable HTTP/2 multiplexing in a multi handle.
Comment 1 Don Olmstead 2018-05-17 14:55:26 PDT
Created attachment 340654 [details]
Patch
Comment 2 youenn fablet 2018-05-17 15:13:18 PDT
Comment on attachment 340654 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=340654&action=review

> Source/WebCore/ChangeLog:3
> +        [Curl] Enable HTTP/2 Multiplexing

Nice!

> Source/WebCore/ChangeLog:8
> +        Covered by existing tests.

I do not think WebKit has HTTP/2 test infra so I guess you have your own internal tests?

> Source/WebCore/platform/network/curl/CurlContext.cpp:202
> +        curl_multi_setopt(m_multiHandle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);

Will the handle support both HTTP/2 and HTTP/1.1?
Comment 3 Don Olmstead 2018-05-17 16:26:20 PDT
(In reply to youenn fablet from comment #2)
> Comment on attachment 340654 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=340654&action=review
> 
> > Source/WebCore/ChangeLog:3
> > +        [Curl] Enable HTTP/2 Multiplexing
> 
> Nice!

Getting closer to having it working all the way but this flag is needed for us to keep digging deeper into it. This particular flag on curl_multi got lost in us dividing up patches to land.

> 
> > Source/WebCore/ChangeLog:8
> > +        Covered by existing tests.
> 
> I do not think WebKit has HTTP/2 test infra so I guess you have your own
> internal tests?

Oh my mistake. I figured there was something in there to test that HTTP/2 is working properly.

> 
> > Source/WebCore/platform/network/curl/CurlContext.cpp:202
> > +        curl_multi_setopt(m_multiHandle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
> 
> Will the handle support both HTTP/2 and HTTP/1.1?

Yea internally curl makes that decision.
Comment 4 WebKit Commit Bot 2018-05-17 17:05:05 PDT
Comment on attachment 340654 [details]
Patch

Clearing flags on attachment: 340654

Committed r231932: <https://trac.webkit.org/changeset/231932>
Comment 5 WebKit Commit Bot 2018-05-17 17:05:06 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2018-05-17 17:12:21 PDT
<rdar://problem/40350788>