Annotation of embedaddon/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3, revision 1.1.1.1

1.1       misho       1: .\" **************************************************************************
                      2: .\" *                                  _   _ ____  _
                      3: .\" *  Project                     ___| | | |  _ \| |
                      4: .\" *                             / __| | | | |_) | |
                      5: .\" *                            | (__| |_| |  _ <| |___
                      6: .\" *                             \___|\___/|_| \_\_____|
                      7: .\" *
                      8: .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
                      9: .\" *
                     10: .\" * This software is licensed as described in the file COPYING, which
                     11: .\" * you should have received as part of this distribution. The terms
                     12: .\" * are also available at https://curl.haxx.se/docs/copyright.html.
                     13: .\" *
                     14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
                     15: .\" * copies of the Software, and permit persons to whom the Software is
                     16: .\" * furnished to do so, under the terms of the COPYING file.
                     17: .\" *
                     18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
                     19: .\" * KIND, either express or implied.
                     20: .\" *
                     21: .\" **************************************************************************
                     22: .\"
                     23: .TH CURLOPT_STREAM_DEPENDS_E 3 "March 23, 2020" "libcurl 7.70.0" "curl_easy_setopt options"
                     24: 
                     25: .SH NAME
                     26: CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively
                     27: .SH SYNOPSIS
                     28: #include <curl/curl.h>
                     29: 
                     30: CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle);
                     31: .SH DESCRIPTION
                     32: Pass a CURL * pointer in \fIdephandle\fP to identify the stream within the
                     33: same connection that this stream is depending upon exclusively. That means it
                     34: depends on it and sets the Exclusive bit.
                     35: 
                     36: The spec says "Including a dependency expresses a preference to allocate
                     37: resources to the identified stream rather than to the dependent stream."
                     38: 
                     39: Setting a dependency with the exclusive flag for a reprioritized stream causes
                     40: all the dependencies of the new parent stream to become dependent on the
                     41: reprioritized stream.
                     42: 
                     43: This option can be set during transfer.
                     44: 
                     45: \fIdephandle\fP must not be the same as \fIhandle\fP, that will cause this
                     46: function to return an error. It must be another easy handle, and it also needs
                     47: to be a handle of a transfer that will be sent over the same HTTP/2 connection
                     48: for this option to have an actual effect.
                     49: .SH DEFAULT
                     50: NULL
                     51: .SH PROTOCOLS
                     52: HTTP/2
                     53: .SH EXAMPLE
                     54: .nf
                     55: CURL *curl = curl_easy_init();
                     56: CURL *curl2 = curl_easy_init(); /* a second handle */
                     57: if(curl) {
                     58:   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/one");
                     59: 
                     60:   /* the second depends on the first */
                     61:   curl_easy_setopt(curl2, CURLOPT_URL, "https://example.com/two");
                     62:   curl_easy_setopt(curl2, CURLOPT_STREAM_DEPENDS_E, curl);
                     63: 
                     64:   /* then add both to a multi handle and transfer them! */
                     65: }
                     66: .fi
                     67: .SH AVAILABILITY
                     68: Added in 7.46.0
                     69: .SH RETURN VALUE
                     70: Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
                     71: .SH "SEE ALSO"
                     72: .BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS "(3), "

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>