mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
e3f335148a
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 |
||
---|---|---|
.. | ||
opts | ||
.gitignore | ||
ABI.md | ||
CMakeLists.txt | ||
curl_easy_cleanup.3 | ||
curl_easy_duphandle.3 | ||
curl_easy_escape.3 | ||
curl_easy_getinfo.3 | ||
curl_easy_header.3 | ||
curl_easy_init.3 | ||
curl_easy_nextheader.3 | ||
curl_easy_option_by_id.3 | ||
curl_easy_option_by_name.3 | ||
curl_easy_option_next.3 | ||
curl_easy_pause.3 | ||
curl_easy_perform.3 | ||
curl_easy_recv.3 | ||
curl_easy_reset.3 | ||
curl_easy_send.3 | ||
curl_easy_setopt.3 | ||
curl_easy_strerror.3 | ||
curl_easy_unescape.3 | ||
curl_easy_upkeep.3 | ||
curl_escape.3 | ||
curl_formadd.3 | ||
curl_formfree.3 | ||
curl_formget.3 | ||
curl_free.3 | ||
curl_getdate.3 | ||
curl_getenv.3 | ||
curl_global_cleanup.3 | ||
curl_global_init_mem.3 | ||
curl_global_init.3 | ||
curl_global_sslset.3 | ||
curl_mime_addpart.3 | ||
curl_mime_data_cb.3 | ||
curl_mime_data.3 | ||
curl_mime_encoder.3 | ||
curl_mime_filedata.3 | ||
curl_mime_filename.3 | ||
curl_mime_free.3 | ||
curl_mime_headers.3 | ||
curl_mime_init.3 | ||
curl_mime_name.3 | ||
curl_mime_subparts.3 | ||
curl_mime_type.3 | ||
curl_mprintf.3 | ||
curl_multi_add_handle.3 | ||
curl_multi_assign.3 | ||
curl_multi_cleanup.3 | ||
curl_multi_fdset.3 | ||
curl_multi_info_read.3 | ||
curl_multi_init.3 | ||
curl_multi_perform.3 | ||
curl_multi_poll.3 | ||
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 | ||
curl_multi_timeout.3 | ||
curl_multi_wait.3 | ||
curl_multi_wakeup.3 | ||
curl_share_cleanup.3 | ||
curl_share_init.3 | ||
curl_share_setopt.3 | ||
curl_share_strerror.3 | ||
curl_slist_append.3 | ||
curl_slist_free_all.3 | ||
curl_strequal.3 | ||
curl_strnequal.3 | ||
curl_unescape.3 | ||
curl_url_cleanup.3 | ||
curl_url_dup.3 | ||
curl_url_get.3 | ||
curl_url_set.3 | ||
curl_url_strerror.3 | ||
curl_url.3 | ||
curl_version_info.3 | ||
curl_version.3 | ||
curl_ws_meta.3 | ||
curl_ws_recv.3 | ||
curl_ws_send.3 | ||
libcurl-easy.3 | ||
libcurl-env.3 | ||
libcurl-errors.3 | ||
libcurl-multi.3 | ||
libcurl-security.3 | ||
libcurl-share.3 | ||
libcurl-thread.3 | ||
libcurl-tutorial.3 | ||
libcurl-url.3 | ||
libcurl.3 | ||
libcurl.m4 | ||
Makefile.am | ||
Makefile.inc | ||
mksymbolsmanpage.pl | ||
symbols-in-versions | ||
symbols.pl |