GNURLOPT_MAXAGE_CONN(3)

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

Okay bestie, this is GNURLOPT_MAXAGE_CONN(3) from the curl_easy_setopt options crew, and it’s literally about how long a connection can sit around before reuse gets a vibe check πŸ’…βœ¨

🌸 NAME 🌸

CURLOPT_MAXAGE_CONN β€” max idle time allowed for reusing a connection πŸŽ€

✨ SYNOPSIS ✨

#include <gnurl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXAGE_CONN, long
       maxage);

πŸ’– DESCRIPTION πŸ’–

Pass a long as parameter containing maxage β€” the maximum time in seconds that you allow an existing connection to have to be considered for reuse for this request. No cap, that’s the whole slay 🫢

The "connection cache" is the thing that holds previously used connections. When a new request is to be done, it will consider any connection that matches for reuse. The CURLOPT_MAXAGE_CONN(3) limit prevents libcurl from trying very old connections for reuse, since old connections have a high risk of not working and thus trying them is a performance loss and sometimes service loss due to the difficulties to figure out the situation. If a connection is found in the cache that is older than this set maxage, it will instead be closed. Periodt πŸ’€πŸ”₯

🌈 DEFAULT 🌈

Default maxage is 118 seconds. Iconic, honestly ⭐

πŸ¦‹ PROTOCOLS πŸ¦‹

All β€” every single one, bestie πŸ’œ

πŸŽ€ EXAMPLE πŸŽ€

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

  /* only allow 30 seconds idle time */
  curl_easy_setopt(curl, CURLOPT_MAXAGE_CONN, 30L);

  curl_easy_perform(curl);
}

πŸ‘‘ AVAILABILITY πŸ‘‘

Added in libcurl 7.65.0 ✨

πŸ’… RETURN VALUE πŸ’…

Returns CURLE_OK. That’s it, that’s the tea πŸ“

πŸ”₯ SEE ALSO πŸ”₯


This page is rockin’ libcurl 7.65.0, dated 18 Apr 2019 β€” mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from