GNURLOPT_UPKEEP_INTERVAL_MS(3)
okay so bestie π welcome to the GNURLOPT_UPKEEP_INTERVAL_MS(3) page β the header shows it as GNURLOPT_U...INTERVAL_MS(3) β and it lives in the curl_easy_setopt options manual. We're talking connection upkeep interval, no cap β¨
β¨ NAME β¨
CURLOPT_UPKEEP_INTERVAL_MSβ connection upkeep interval. that's the whole vibe π
π¦ SYNOPSIS π¦
#include <gnurl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPKEEP_INTERVAL_MS, long
upkeep_interval_ms);
π DESCRIPTION π
okay so some protocols have these things called "connection upkeep" mechanisms. These mechanisms usually send some traffic on existing connections in order to keep them alive β and that can prevent connections from being closed due to overzealous firewalls, for example. literally the firewall is being extra π
The user needs to explicitly call curl_easy_upkeep(3) in order to perform the upkeep work. yes bestie, you gotta call it yourself β it is not just vibing on its own.
Currently the only protocol with a connection upkeep mechanism is HTTP/2: when the connection upkeep interval is exceeded and curl_easy_upkeep(3) is called, an HTTP/2 PING frame is sent on the connection. iconic behavior tbh π«Ά
π DEFAULT π
CURL_UPKEEP_INTERVAL_DEFAULT β currently defined as 60000L, which is 60 seconds. so a whole minute, bestie β³
πΈ EXAMPLE πΈ
CURL *curl = curl_easy_init();
if(curl) {
/* Make a connection to an HTTP/2 server. */
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
/* Set the interval to 30000ms / 30s */
curl_easy_setopt(curl, CURLOPT_UPKEEP_INTERVAL_MS, 30000L);
curl_easy_perform(curl);
/* Perform more work here. */
/* While the connection is being held open, curl_easy_upkeep() can be
called. If curl_easy_upkeep() is called and the time since the last
upkeep exceeds the interval, then an HTTP/2 PING is sent. */
curl_easy_upkeep(curl);
/* Perform more work here. */
/* always cleanup */
curl_easy_cleanup(curl);
}
β AVAILABILITY β
Added in 7.62.0 β¨
π RETURN VALUE π
Returns CURLE_OK β that's the whole return value, periodt π
okay bye bestie π«Ά β this page is from libcurl 7.62.0, dated 31 Oct 2018, and it's the GNURLOPT_U...INTERVAL_MS(3) page. slay β¨
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms