aboutsummaryrefslogtreecommitdiff
path: root/lib/urldata.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2008-12-19 21:14:52 +0000
committerDaniel Stenberg <daniel@haxx.se>2008-12-19 21:14:52 +0000
commit07416b61e3c403ea56370858a618f877dcaee57d (patch)
tree2fde760848f524477f97f32edb8d23fc42fccf32 /lib/urldata.h
parent000a13e21a30ca55da1fc7affe28fcb7c7171bb7 (diff)
- Using the libssh2 0.19 function libssh2_session_block_directions(), libcurl
now has an improved ability to do right when the multi interface (both "regular" and multi_socket) is used for SCP and SFTP transfers. This should result in (much) less busy-loop situations and thus less CPU usage with no speed loss.
Diffstat (limited to 'lib/urldata.h')
-rw-r--r--lib/urldata.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index 07dab3ee1..029e9f78d 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -559,6 +559,8 @@ struct ssh_conn {
LIBSSH2_CHANNEL *ssh_channel; /* Secure Shell channel handle */
LIBSSH2_SFTP *sftp_session; /* SFTP handle */
LIBSSH2_SFTP_HANDLE *sftp_handle;
+ int waitfor; /* current READ/WRITE bits to wait for */
+ int orig_waitfor; /* default READ/WRITE bits wait for */
#endif /* USE_LIBSSH2 */
};
@@ -850,6 +852,13 @@ struct Curl_handler {
curl_socket_t *socks,
int numsocks);
+ /* Called from the multi interface during the DO_DONE, PERFORM and
+ WAITPERFORM phases, and it should then return a proper fd set. Not setting
+ this will make libcurl use the generic default one. */
+ int (*perform_getsock)(const struct connectdata *conn,
+ curl_socket_t *socks,
+ int numsocks);
+
/* This function *MAY* be set to a protocol-dependent function that is run
* by the curl_disconnect(), as a step in the disconnection.
*/