curl/docs/libcurl
Daniel Stenberg e3f335148a
websockets: remodeled API to support 63 bit frame sizes
curl_ws_recv() now receives data to fill up the provided buffer, but can
return a partial fragment. The function now also get a pointer to a
curl_ws_frame struct with metadata that also mentions the offset and
total size of the fragment (of which you might be receiving a smaller
piece). This way, large incoming fragments will be "streamed" to the
application. When the curl_ws_frame struct field 'bytesleft' is 0, the
final fragment piece has been delivered.

curl_ws_recv() was also adjusted to work with a buffer size smaller than
the fragment size. (Possibly needless to say as the fragment size can
now be 63 bit large).

curl_ws_send() now supports sending a piece of a fragment, in a
streaming manner, in addition to sending the entire fragment in a single
call if it is small enough. To send a huge fragment, curl_ws_send() can
be used to send it in many small calls by first telling libcurl about
the total expected fragment size, and then send the payload in N number
of separate invokes and libcurl will stream those over the wire.

The struct curl_ws_meta() returns is now called 'curl_ws_frame' and it
has been extended with two new fields: *offset* and *bytesleft*. To help
describe the passed on data chunk when a fragment is delivered in many
smaller pieces.

The documentation has been updated accordingly.

Closes #9636
2022-10-07 12:50:58 +02:00
..
opts CURLOPT_COOKIEFILE: insist on "" for enable-without-file 2022-10-06 10:17:31 +02:00
.gitignore
ABI.md docs: spellfixes 2022-09-21 15:20:08 +02:00
CMakeLists.txt
curl_easy_cleanup.3
curl_easy_duphandle.3
curl_easy_escape.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_getinfo.3
curl_easy_header.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_init.3
curl_easy_nextheader.3
curl_easy_option_by_id.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_option_by_name.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_option_next.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_pause.3
curl_easy_perform.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_recv.3
curl_easy_reset.3
curl_easy_send.3
curl_easy_setopt.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_strerror.3
curl_easy_unescape.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_easy_upkeep.3
curl_escape.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_formadd.3 CURLOPT_HTTPPOST.3: bolden the deprecation notice 2022-10-05 18:41:55 -04:00
curl_formfree.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_formget.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_free.3
curl_getdate.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_getenv.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_global_cleanup.3
curl_global_init_mem.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_global_init.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_global_sslset.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_mime_addpart.3
curl_mime_data_cb.3
curl_mime_data.3
curl_mime_encoder.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_mime_filedata.3
curl_mime_filename.3
curl_mime_free.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_mime_headers.3
curl_mime_init.3
curl_mime_name.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_mime_subparts.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_mime_type.3
curl_mprintf.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_add_handle.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_assign.3
curl_multi_cleanup.3
curl_multi_fdset.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_info_read.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_init.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_perform.3
curl_multi_poll.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_remove_handle.3
curl_multi_setopt.3
curl_multi_socket_action.3
curl_multi_socket_all.3
curl_multi_socket.3
curl_multi_strerror.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_timeout.3
curl_multi_wait.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_multi_wakeup.3
curl_share_cleanup.3
curl_share_init.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_share_setopt.3
curl_share_strerror.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_slist_append.3
curl_slist_free_all.3
curl_strequal.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_strnequal.3
curl_unescape.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_url_cleanup.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_url_dup.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_url_get.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_url_set.3 curl_url_set.3: document CURLU_APPENDQUERY proper 2022-10-01 16:22:53 +02:00
curl_url_strerror.3
curl_url.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_version_info.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
curl_version.3
curl_ws_meta.3 websockets: remodeled API to support 63 bit frame sizes 2022-10-07 12:50:58 +02:00
curl_ws_recv.3 websockets: remodeled API to support 63 bit frame sizes 2022-10-07 12:50:58 +02:00
curl_ws_send.3 websockets: remodeled API to support 63 bit frame sizes 2022-10-07 12:50:58 +02:00
libcurl-easy.3
libcurl-env.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl-errors.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl-multi.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl-security.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl-share.3
libcurl-thread.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl-tutorial.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl-url.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl.3 docs: spellfixes 2022-09-21 15:20:08 +02:00
libcurl.m4
Makefile.am
Makefile.inc curl_ws_meta.3: added docs 2022-09-09 15:11:14 +02:00
mksymbolsmanpage.pl
symbols-in-versions websockets: remodeled API to support 63 bit frame sizes 2022-10-07 12:50:58 +02:00
symbols.pl