diff options
author | Daniel Stenberg <daniel@haxx.se> | 2022-09-09 15:11:14 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2022-09-09 15:11:14 +0200 |
commit | 664249d095275ec532f55dd1752d80c8c1093a77 (patch) | |
tree | f8e3add4b66fb64271d22178743f3dc2f1758dcd /lib/easy.c | |
parent | 60a3b25dbf1f211f6ba5216f2d774cfb26cb3e29 (diff) | |
download | curl-664249d095275ec532f55dd1752d80c8c1093a77.tar.gz |
ws: initial websockets support
Closes #8995
Diffstat (limited to 'lib/easy.c')
-rw-r--r-- | lib/easy.c | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/lib/easy.c b/lib/easy.c index 978ea5ac3..3a190d74d 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -1170,8 +1170,7 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action) } -static CURLcode easy_connection(struct Curl_easy *data, - curl_socket_t *sfd, +static CURLcode easy_connection(struct Curl_easy *data, curl_socket_t *sfd, struct connectdata **connp) { if(!data) @@ -1230,11 +1229,12 @@ CURLcode curl_easy_recv(struct Curl_easy *data, void *buffer, size_t buflen, } /* - * Sends data over the connected socket. Use after successful - * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + * Sends data over the connected socket. + * + * This is the private internal version of curl_easy_send() */ -CURLcode curl_easy_send(struct Curl_easy *data, const void *buffer, - size_t buflen, size_t *n) +CURLcode Curl_senddata(struct Curl_easy *data, const void *buffer, + size_t buflen, size_t *n) { curl_socket_t sfd; CURLcode result; @@ -1242,9 +1242,6 @@ CURLcode curl_easy_send(struct Curl_easy *data, const void *buffer, struct connectdata *c = NULL; SIGPIPE_VARIABLE(pipe_st); - if(Curl_is_in_callback(data)) - return CURLE_RECURSIVE_API_CALL; - result = easy_connection(data, &sfd, &c); if(result) return result; @@ -1272,6 +1269,19 @@ CURLcode curl_easy_send(struct Curl_easy *data, const void *buffer, } /* + * Sends data over the connected socket. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURLcode curl_easy_send(struct Curl_easy *data, const void *buffer, + size_t buflen, size_t *n) +{ + if(Curl_is_in_callback(data)) + return CURLE_RECURSIVE_API_CALL; + + return Curl_senddata(data, buffer, buflen, n); +} + +/* * Wrapper to call functions in Curl_conncache_foreach() * * Returns always 0. |