aboutsummaryrefslogtreecommitdiff
path: root/lib/urldata.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-04-10 15:00:53 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-04-10 15:00:53 +0000
commit686d90745be4417127050ad4b36d0a5403def200 (patch)
tree786a63b7554065aa0514440adf35fd7b639ae94c /lib/urldata.h
parent5dc02d53c3edebab7597cd4ada446273e3a6daa8 (diff)
First curl_multi_socket() commit. Should primarily be considered as an internal
code rearrange to fit the future better.
Diffstat (limited to 'lib/urldata.h')
-rw-r--r--lib/urldata.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index a970b7377..457832dcf 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -96,6 +96,7 @@
#include "http_chunks.h" /* for the structs and enum stuff */
#include "hostip.h"
#include "hash.h"
+#include "splay.h"
#ifdef HAVE_GSSAPI
# ifdef HAVE_GSSGNU
@@ -657,17 +658,15 @@ struct connectdata {
/* Called from the multi interface during the PROTOCONNECT phase, and it
should then return a proper fd set */
- CURLcode (*curl_proto_fdset)(struct connectdata *conn,
- fd_set *read_fd_set,
- fd_set *write_fd_set,
- int *max_fdp);
+ int (*curl_proto_getsock)(struct connectdata *conn,
+ curl_socket_t *socks,
+ int numsocks);
/* Called from the multi interface during the DOING phase, and it should
then return a proper fd set */
- CURLcode (*curl_doing_fdset)(struct connectdata *conn,
- fd_set *read_fd_set,
- fd_set *write_fd_set,
- int *max_fdp);
+ int (*curl_doing_getsock)(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.
@@ -932,10 +931,11 @@ struct UrlState {
#if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H)
ENGINE *engine;
#endif /* USE_SSLEAY */
+ struct timeval expiretime; /* set this with Curl_expire() only */
+ struct Curl_tree timenode; /* for the splay stuff */
/* a place to store the most recenlty set FTP entrypath */
char *most_recent_ftp_entrypath;
-
};
@@ -968,6 +968,8 @@ struct DynamicStatic {
* 'struct UrlState' instead. The only exceptions MUST note the changes in
* the 'DynamicStatic' struct.
*/
+struct Curl_one_easy; /* declared and used only in multi.c */
+struct Curl_multi; /* declared and used only in multi.c */
struct UserDefined {
FILE *err; /* the stderr user data goes here */
@@ -1071,6 +1073,12 @@ struct UserDefined {
char *private_data; /* Private data */
+ struct Curl_one_easy *one_easy; /* When adding an easy handle to a multi
+ handle, an internal 'Curl_one_easy'
+ struct is created and this is a pointer
+ to the particular struct associated with
+ this SessionHandle */
+
struct curl_slist *http200aliases; /* linked list of aliases for http200 */
long ip_version;
@@ -1139,7 +1147,7 @@ struct UserDefined {
struct SessionHandle {
struct curl_hash *hostcache;
- void *multi; /* if non-NULL, points to the multi handle
+ struct Curl_multi *multi; /* if non-NULL, points to the multi handle
struct of which this "belongs" */
struct Curl_share *share; /* Share, handles global variable mutexing */
struct UserDefined set; /* values set by the libcurl user */