123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- #ifndef HEADER_CURL_MULTIHANDLE_H
- #define HEADER_CURL_MULTIHANDLE_H
- #include "conncache.h"
- struct Curl_message {
- struct curl_llist_element list;
-
- struct CURLMsg extmsg;
- };
- typedef enum {
- CURLM_STATE_INIT,
- CURLM_STATE_CONNECT_PEND,
- CURLM_STATE_CONNECT,
- CURLM_STATE_WAITRESOLVE,
- CURLM_STATE_WAITCONNECT,
- CURLM_STATE_WAITPROXYCONNECT,
- CURLM_STATE_SENDPROTOCONNECT,
- CURLM_STATE_PROTOCONNECT,
- CURLM_STATE_WAITDO,
- CURLM_STATE_DO,
- CURLM_STATE_DOING,
- CURLM_STATE_DO_MORE,
- CURLM_STATE_DO_DONE,
- CURLM_STATE_WAITPERFORM,
- CURLM_STATE_PERFORM,
- CURLM_STATE_TOOFAST,
- CURLM_STATE_DONE,
- CURLM_STATE_COMPLETED,
- CURLM_STATE_MSGSENT,
- CURLM_STATE_LAST
- } CURLMstate;
- #define MAX_SOCKSPEREASYHANDLE 5
- #define GETSOCK_READABLE (0x00ff)
- #define GETSOCK_WRITABLE (0xff00)
- #define CURLPIPE_ANY (CURLPIPE_HTTP1 | CURLPIPE_MULTIPLEX)
- struct Curl_multi {
-
- long type;
-
- struct Curl_easy *easyp;
- struct Curl_easy *easylp;
- int num_easy;
- int num_alive;
- struct curl_llist msglist;
- struct curl_llist pending;
-
- curl_socket_callback socket_cb;
- void *socket_userp;
-
- curl_push_callback push_cb;
- void *push_userp;
-
- struct curl_hash hostcache;
-
- struct Curl_tree *timetree;
-
- struct curl_hash sockhash;
-
- long pipelining;
- bool recheckstate;
-
- struct conncache conn_cache;
- long maxconnects;
- long max_host_connections;
- long max_total_connections;
- long max_pipeline_length;
- long content_length_penalty_size;
- long chunk_length_penalty_size;
- struct curl_llist pipelining_site_bl;
- struct curl_llist pipelining_server_bl;
-
- curl_multi_timer_callback timer_cb;
- void *timer_userp;
- struct curltime timer_lastcall;
- };
- #endif
|