| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- .\" generated by cd2nroff 0.1 from CURLMOPT_PIPELINING.md
- .TH CURLMOPT_PIPELINING 3 "2025-01-17" libcurl
- .SH NAME
- CURLMOPT_PIPELINING \- enable HTTP multiplexing
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bitmask);
- .fi
- .SH DESCRIPTION
- Pass in the correct value in the \fBbitmask\fP parameter to instruct libcurl to
- enable multiplexing for this multi handle.
- With multiplexing enabled, libcurl attempts to do multiple transfers over the
- same connection when doing parallel transfers to the same hosts.
- .IP "CURLPIPE_NOTHING (0)"
- Default, which means doing no attempts at multiplexing.
- .IP "CURLPIPE_HTTP1 (1)"
- This bit is deprecated and has no effect since version 7.62.0.
- .IP "CURLPIPE_MULTIPLEX (2)"
- If this bit is set, libcurl tries to multiplex the new transfer over an
- existing connection if possible. This requires HTTP/2 or HTTP/3.
- .SH DEFAULT
- \fBCURLPIPE_MULTIPLEX\fP
- .SH PROTOCOLS
- This functionality affects http only
- .SH EXAMPLE
- .nf
- int main(void)
- {
- CURLM *m = curl_multi_init();
- /* try HTTP/2 multiplexing */
- curl_multi_setopt(m, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
- }
- .fi
- .SH HISTORY
- The multiplex support bit was added in 7.43.0. HTTP/1 Pipelining support was
- disabled in 7.62.0.
- Since 7.62.0, \fBCURLPIPE_MULTIPLEX\fP is enabled by default.
- Before that, default was \fBCURLPIPE_NOTHING\fP.
- .SH AVAILABILITY
- Added in curl 7.16.0
- .SH RETURN VALUE
- Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
- .SH SEE ALSO
- .BR CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (3),
- .BR CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (3),
- .BR CURLMOPT_MAXCONNECTS (3),
- .BR CURLMOPT_MAX_HOST_CONNECTIONS (3),
- .BR CURLMOPT_MAX_PIPELINE_LENGTH (3),
- .BR CURLMOPT_PIPELINING_SITE_BL (3)
|