Open AiraYumi opened 5 days ago
Thank you for the contribution!
(Need Help) I want to be able to enable and disable HTTP/2 Multiplexing using the debug options, but where should I change it?
To achieve this, add a setting to the indra/newview/app_settings/settings.xml
file as follows:
<key>UseHTTP2Multiplexing</key>
<map>
<key>Comment</key>
<string>Enable HTTP/2 Multiplexing</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
Then, access it from the viewer code like this:
bool use_http2_multiplexing = gSavedSettings.getBOOL("UseHTTP2Multiplexing");
I want to be able to enable and disable HTTP/2 Multiplexing using the debug options, but where should I change it?
I doubt that all services will pick up http/2 in one go, so it's probably beneficial to do it on a case by case bassis viewer side, like HttpOptions (or header?).
In such case calls will also be in newview, so you will be able to use settings to do something like mHttpOptions->setUseHttp2(gSavedSettings.getBOOL("UseHTTP2Multiplexing"))
To achieve this, add a setting to the indra/newview/app_settings/settings.xml file as follows:
I doubt that it's accessible from curl's files.
P.S. using gSavedSettings.getBOOL() directly for a code like this is suboptimal, it probably should be LLCachedControl
I'm currently working on it, and at least I added gSavedSettings to "indra/llcorehttp/_httplibcurl.cpp", but it didn't build. I'll try adding it to HttpOptions.
You can also remake mPipelined into a enum with options like no|pipelining|multiplexing. It already loads from gSavedSettings.getBOOL(http_pipelining), so it will just have to become getS32(http_pipelining).
Enables HTTP/2 Multiplexing. If this doesn't work, it will use HTTP pipelining.
(Need Help) I want to be able to enable and disable HTTP/2 Multiplexing using the debug options, but where should I change it?