From 9cdce301b8cd9c3ecc689c027e488390a330f4ca Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 21 Oct 2015 23:05:59 +0200 Subject: http2: s/priority/weight in the option name --- docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 | 2 +- docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 | 2 +- docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 | 20 +++++++++++--------- docs/libcurl/symbols-in-versions | 5 ++++- lib/http2.c | 10 +++++----- lib/url.c | 4 ++-- lib/urldata.h | 4 ++-- 7 files changed, 26 insertions(+), 21 deletions(-) diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 index f3dcff31d..081a73250 100644 --- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 +++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 @@ -53,4 +53,4 @@ Added in 7.46.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" -.BR CURLOPT_STREAM_PRIORITY "(3), " CURLOPT_STREAM_DEPENDS_E "(3), " +.BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS_E "(3), " diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 index 1684c369d..1b3fbfa1c 100644 --- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 +++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 @@ -56,4 +56,4 @@ Added in 7.46.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" -.BR CURLOPT_STREAM_PRIORITY "(3), " CURLOPT_STREAM_DEPENDS "(3), " +.BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS "(3), " diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 index 4b0f16a95..c292c02e3 100644 --- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 +++ b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 @@ -20,23 +20,25 @@ .\" * .\" ************************************************************************** .\" -.TH CURLOPT_STREAM_PRIORITY 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options" +.TH CURLOPT_STREAM_WEIGHT 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options" .SH NAME -CURLOPT_STREAM_PRIORITY \- set numerical stream priority +CURLOPT_STREAM_WEIGHT \- set numerical stream priority .SH SYNOPSIS #include -CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_PRIORITY, long prio); +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long prio); .SH DESCRIPTION Set the long \fIprio\fP to a number between 1 and 256. -For protocols with priorities on streams, such as HTTP/2, this option can be -used to set an individual priority for this particular stream used by the easy -\fIhandle\fP. Setting and using priorities really only makes sense and is only -usable when doing multiple streams over the same connections, which thus -implies that you use \fICURLMOPT_PIPELINING(3)\fP. +When using HTTP/2, this option can be used to set an individual weight for +this particular stream used by the easy \fIhandle\fP. Setting and using +weights really only makes sense and is only usable when doing multiple streams +over the same connections, which thus implies that you use +\fICURLMOPT_PIPELINING(3)\fP. -This option can be set during transfer. +This option can be set during transfer and will then cause the updated weight +info get sent to the server the next time a HTTP/2 frame is sent to the +server. See section 5.3 of RFC 7540 for protocol details: https://httpwg.github.io/specs/rfc7540.html#StreamPriority diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions index 5f6d7e504..732ad19ed 100644 --- a/docs/libcurl/symbols-in-versions +++ b/docs/libcurl/symbols-in-versions @@ -526,6 +526,9 @@ CURLOPT_SSL_VERIFYHOST 7.8.1 CURLOPT_SSL_VERIFYPEER 7.4.2 CURLOPT_SSL_VERIFYSTATUS 7.41.0 CURLOPT_STDERR 7.1 +CURLOPT_STREAM_DEPENDS 7.46.0 +CURLOPT_STREAM_DEPENDS_E 7.46.0 +CURLOPT_STREAM_WEIGHT 7.46.0 CURLOPT_TCP_KEEPALIVE 7.25.0 CURLOPT_TCP_KEEPIDLE 7.25.0 CURLOPT_TCP_KEEPINTVL 7.25.0 @@ -677,8 +680,8 @@ CURL_GLOBAL_SSL 7.8 CURL_GLOBAL_WIN32 7.8.1 CURL_HTTP_VERSION_1_0 7.9.1 CURL_HTTP_VERSION_1_1 7.9.1 -CURL_HTTP_VERSION_2_0 7.33.0 CURL_HTTP_VERSION_2 7.43.0 +CURL_HTTP_VERSION_2_0 7.33.0 CURL_HTTP_VERSION_NONE 7.9.1 CURL_IPRESOLVE_V4 7.10.8 CURL_IPRESOLVE_V6 7.10.8 diff --git a/lib/http2.c b/lib/http2.c index 87d4a19ec..261e7f98d 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -52,7 +52,7 @@ */ void Curl_http2_init_state(struct UrlState *state) { - state->stream_prio = NGHTTP2_DEFAULT_WEIGHT; + state->stream_weight = NGHTTP2_DEFAULT_WEIGHT; } /* @@ -61,7 +61,7 @@ void Curl_http2_init_state(struct UrlState *state) */ void Curl_http2_init_userset(struct UserDefined *set) { - set->stream_prio = NGHTTP2_DEFAULT_WEIGHT; + set->stream_weight = NGHTTP2_DEFAULT_WEIGHT; } static int http2_perform_getsock(const struct connectdata *conn, @@ -1013,9 +1013,9 @@ static void h2_pri_spec(struct SessionHandle *data, struct HTTP *depstream = (data->set.stream_depends_on? data->set.stream_depends_on->req.protop:NULL); int32_t depstream_id = depstream? depstream->stream_id:0; - nghttp2_priority_spec_init(pri_spec, depstream_id, data->set.stream_prio, + nghttp2_priority_spec_init(pri_spec, depstream_id, data->set.stream_weight, data->set.stream_depends_e); - data->state.stream_prio = data->set.stream_prio; + data->state.stream_weight = data->set.stream_weight; data->state.stream_depends_e = data->set.stream_depends_e; data->state.stream_depends_on = data->set.stream_depends_on; } @@ -1029,7 +1029,7 @@ static int h2_session_send(struct SessionHandle *data, nghttp2_session *h2) { struct HTTP *stream = data->req.protop; - if((data->set.stream_prio != data->state.stream_prio) || + if((data->set.stream_weight != data->state.stream_weight) || (data->set.stream_depends_e != data->state.stream_depends_e) || (data->set.stream_depends_on != data->state.stream_depends_on) ) { /* send new weight and/or dependency */ diff --git a/lib/url.c b/lib/url.c index 866fee2eb..94b906d77 100644 --- a/lib/url.c +++ b/lib/url.c @@ -2663,13 +2663,13 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, case CURLOPT_PIPEWAIT: data->set.pipewait = (0 != va_arg(param, long))?TRUE:FALSE; break; - case CURLOPT_STREAM_PRIORITY: + case CURLOPT_STREAM_WEIGHT: #ifndef USE_NGHTTP2 return CURLE_NOT_BUILT_IN; #else arg = va_arg(param, long); if((arg>=1) && (arg <= 256)) - data->set.stream_prio = (int)arg; + data->set.stream_weight = (int)arg; break; #endif case CURLOPT_STREAM_DEPENDS: diff --git a/lib/urldata.h b/lib/urldata.h index 7d6025cb5..6ddf15e37 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -1340,7 +1340,7 @@ struct UrlState { struct SessionHandle *stream_depends_on; bool stream_depends_e; /* set or don't set the Exclusive bit */ - int stream_prio; + int stream_weight; }; @@ -1660,7 +1660,7 @@ struct UserDefined { struct SessionHandle *stream_depends_on; bool stream_depends_e; /* set or don't set the Exclusive bit */ - int stream_prio; + int stream_weight; }; struct Names { -- cgit v1.2.1