GNURLOPT_STREAM_DEPENDS(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

okay bestie, welcome to GNURLOPT_STREAM_DEPENDS(3), a page straight out of the curl_easy_setopt options manual. it’s giving β€œthis transfer depends on that stream” energy, and we’re gonna get into all of it. πŸ’…

✨ NAME ✨

CURLOPT_STREAM_DEPENDS β€” set stream this transfer depends on. 🫢

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <gnurl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL
       *dephandle);

πŸ’– DESCRIPTION πŸ’–

So you pass a CURL * pointer in dephandle, and that identifies the stream within the same connection that this stream is depending upon. πŸŽ€

This option clears the exclusive bit and is mutually exclusive to the CURLOPT_STREAM_DEPENDS_E(3) option. no cap, they can’t both be doing their thing at the same time.

The spec says β€œIncluding a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream.” ✨

This option can be set during transfer. literally mid-transfer, it’s fine.

bestie, listen: dephandle must not be the same as handle β€” that will cause this function to return an error. 😭 It must be another easy handle, and it also needs to be a handle of a transfer that will be sent over the same HTTP/2 connection for this option to have an actual effect.

πŸŽ€ DEFAULT πŸŽ€

NULL β€” that’s the default, bestie.

🌈 PROTOCOLS 🌈

HTTP/2

🧚 EXAMPLE 🧚

CURL *curl = curl_easy_init();
CURL *curl2 = curl_easy_init(); /* a second handle */
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/one");

  /* the second depends on the first */
  curl_easy_setopt(curl2, CURLOPT_URL, "https://example.com/two");
  curl_easy_setopt(curl2, CURLOPT_STREAM_DEPENDS, curl);

  /* then add both to a multi handle and transfer them! */
}

⭐ AVAILABILITY ⭐

Added in 7.46.0 πŸ‘‘

πŸ’… RETURN VALUE πŸ’…

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. fr fr.

πŸ‘‘ SEE ALSO πŸ‘‘

kiss kiss, bestie πŸ’‹ β€” that was GNURLOPT_STREAM_DEPENDS(3) from libcurl 7.46.0, dated 13 Sep 2015. 🫢

πŸ“¦ where this page comes from